参照网上的文章: 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