canal同步mysql数据到ES

canal同步mysql数据到ES

  1. 前提是:mysql开启了bingo日志
  2. canal的原理是模拟自己为mysql slave,所以这里一定需要做为mysql slave的相关权限.
CREATE USER canal IDENTIFIED BY 'Mmc..5211314';  
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%';
-- GRANT ALL PRIVILEGES ON *.* TO 'canal'@'%' ;
FLUSH PRIVILEGES;
  1. 安装并启动Canal-server
    2.1 连接阿里云ECS实例,下载并解压Canal-deployer。本文使用Canal-deployer 1.1.4版本。
wget https://github.com/alibaba/canal/releases/download/canal-1.1.4/canal.deployer-1.1.4.tar.gz
2.2 解压canal.deployer-1.1.4.tar.gz。
tar -zxvf canal.deployer-1.1.4.tar.gz
2.3 修改conf/example/instance.properties文件。
vi conf/example/instance.properties

canal同步mysql数据到ES_第1张图片
2.4 启动Canal-server,并查看日志。

./bin/startup.sh
cat logs/canal/canal.log

在这里插入图片描述
3. 安装并启动Canal-adapter
3.1 连接阿里云ECS实例,下载并解压Canal-adapter。本文使用Canal-adapter1.1.4版本。

wget https://github.com/alibaba/canal/releases/download/canal-1.1.4/canal.adapter-1.1.4.tar.gz
3.2 解压canal.adapter-1.1.4.tar.gz
tar -zxvf canal.adapter-1.1.4.tar.gz
3.3 修改conf/application.yml文件。
vi conf/application.yml

canal同步mysql数据到ES_第2张图片
canal同步mysql数据到ES_第3张图片
canal同步mysql数据到ES_第4张图片
3.4 同样的方式,修改conf/es/*.yml文件,定义MySQL数据到ES数据的映射字段(此处文件以表名命名最好区分)
canal同步mysql数据到ES_第5张图片
canal同步mysql数据到ES_第6张图片
3.5 启动Canal-adapter服务,并查看日志。

./bin/startup.sh
cat logs/adapter/adapter.log
  1. 最后在数据库插入、修改、删除数据进行验证

你可能感兴趣的:(canal工具学习)