当前位置 : 主页 > 编程语言 > 其它开发 >

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

来源:互联网 收集:自由互联 发布时间:2022-07-07
参照网上的文章: https://zhuanlan.zhihu.com/p/521914517 一步步做 实现增量同步思路是: 将mysql增删改操作产生的binlog通过canal中间件增量同步到ES中 一开始犯贱使用的版本是:mysql 8.0、canal 1.1

参照网上的文章: 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.codetd.com/article/14226766#_2

网友评论