当前位置:网站首页>实现mysql与ES的增量数据同步

实现mysql与ES的增量数据同步

2022-07-06 17:20:00 一万年太久只争朝夕

参照网上的文章: https://zhuanlan.zhihu.com/p/521914517 一步步做

实现增量同步思路是: 将mysql增删改操作产生的binlog通过canal中间件增量同步到ES中

一开始犯贱使用的版本是:mysql 8.0、canal 1.1.6、Elasticsearch 8.2.3,所有配置好以后,在mysql中做更新操作发现canal并不能监听到binlog日志,所以想到降ES的版本

后面使用的版本是:mysql 8.0、canal 1.1.5、Elasticsearch 7.13.0

其中遇到的问题:
1.首先canal有三个端:deployer、adapter、admin deployer负责拉binlog,adapter负责将拉到的binlog写入ES相应的索引中,admin就是一个管理端。
2.需要注意server端的配置在canal1.5/deployer/conf/example中的instance.properties:
需要额外配置这三项:
canal.instance.tsdb.enable=false
canal.instance.filter.query.ddl = false
canal.instance.filter.query.dcl = false

3.需要额外配置adapter端的配置在canal1.5/adapter/conf中的application.yml(先把bootstrap.yml给删掉吧):
配置ES的地址时,及时是本机,也不要配127.0.0.1,就配公网IP就行了
hosts: http://8.136.150.82:9211

大概就是这些就能完成增量同步
另外还给个地址做参考:https://wenku.baidu.com/view/30903e190a12a21614791711cc7931b764ce7b4a.html

原网站

版权声明
本文为[一万年太久只争朝夕]所创,转载请带上原文链接,感谢
https://www.cnblogs.com/laiyw/p/16451665.html