基于canal1.1.4 实现 mysql to es 增量全量同步

canal新版本功能介绍:

canal-admin  web模块

canal-server  采集数据,解析binlog   配置实例,mysql的信息

canal-adapter   将数据转换为其他组件的数据源的功能。client(新版本已经可以同步kafka,es,hbase,logger,RDB,MongoDB,Redis)  

过程比较简单,具体实践操作可能需要自行踩坑..

版本介绍:

  • canal-admin  1.1.4
  • canal-server  1.1.4
  • canal-adapter 1.1.5
  • es 7.4.0
  • mysql 8.0

 

1.首先mysql配置binlog日志格式

sudo vi /etc/my.cnf 

server-id=1
log-bin=mysql-bin
binlog-format=ROW
binlog-ignore-db=information_schema
binlog-ignore-db=mysql
binlog-ignore-db=performance_schema
binlog-ignore-db=sys

2.安装canal-admin,修改相关配置($CANAL_ADMIN_HOME/conf/application.yml)

基于canal1.1.4 实现 mysql to es 增量全量同步_第1张图片

3.http://ip:8089

基于canal1.1.4 实现 mysql to es 增量全量同步_第2张图片

4.配置canal-server ,可以自行根据zk保证ha. 添加实例   ($CANAL_SERVER_HOME/conf/canal.properties)

基于canal1.1.4 实现 mysql to es 增量全量同步_第3张图片

 

基于canal1.1.4 实现 mysql to es 增量全量同步_第4张图片

 

5.然后配置adapter ($CANAL_ADAPTER_HOME/conf/application.yml , es包下的yml启动会被扫描,可以自行在添加相关es索引配置)

6.通过kibana查看同步情况。

基于canal1.1.4 实现 mysql to es 增量全量同步_第5张图片

 

如上可以实现增量同步,如果需要实现全量同步,需要手动调用接口。例:curl http://ip:8081/etl/es7/test.yml -X POST

 

 

 

 

 

 

你可能感兴趣的:(canal)