canal同步mysql数据到ES
·
canal同步mysql数据到ES
- 前提是:mysql开启了bingo日志
- 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;
- 安装并启动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

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



3.4 同样的方式,修改conf/es/*.yml文件,定义MySQL数据到ES数据的映射字段(此处文件以表名命名最好区分)


3.5 启动Canal-adapter服务,并查看日志。
./bin/startup.sh
cat logs/adapter/adapter.log
- 最后在数据库插入、修改、删除数据进行验证
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)