当前位置:   article > 正文

canal增量同步数据到RocketMQ消息队列_rocketmq.enable.message.trace

rocketmq.enable.message.trace

1.下载安装canal

下载地址:https://github.com/alibaba/canal/releases

2.解压下载后的canal,其目录结为:

3.编辑/conf/canal.properties目录下的配置文件,选择消息中间件为RocketMQ

  1. #设置服务模式为RocketMQ
  2. canal.serverMode = rocketMQ
  3. ##################################################
  4. ######### RocketMQ #############
  5. ##################################################
  6. rocketmq.producer.group = test
  7. rocketmq.enable.message.trace = false
  8. rocketmq.customized.trace.topic =canal_test
  9. rocketmq.namespace =
  10. rocketmq.namesrv.addr = 127.0.0.1:9876
  11. rocketmq.retry.times.when.send.failed = 0
  12. rocketmq.vip.channel.enabled = false
  13. rocketmq.tag = cannal_tag

4编辑conf/example目录下的instance.properties的配置文件

  1. ## mysql serverId,注意不要和mysqlId中的重复
  2. canal.instance.mysql.slaveId=1234
  3. ##实例主机的地址
  4. canal.instance.master.address=127.0.0.1:3306
  5. # username/password
  6. canal.instance.dbUsername=canal
  7. canal.instance.dbPassword=canal
  8. canal.instance.connectionCharset = UTF-8
  9. # mq config和canal.properties中的保持一致
  10. canal.mq.topic=canal_test

5.mysql目录结构,重点配置my.ini的binlog

 6.binlog的配置为:

  1. #bin-log相关的配置
  2. #1.开启 binlog
  3. log-bin=mysql-bin
  4. #2.选择 ROW 模式
  5. binlog-format=ROW
  6. #3.配置 MySQL replaction 需要定义,不要和 canal 的 slaveId 重复
  7. server_id=1

7.在数据库中查看相关的binlog有没有生效

 7查看binlog_fomt

 9,创建canal用户并且让MySQL为其授权

  1. create user canal@'%' IDENTIFIED by 'canal';
  2. GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT,SUPER ON *.* TO 'canal'@'%';
  3. FLUSH PRIVILEGES;

10.准备要同步的数据库及表

  1. CREATE DATABASE IF NOT EXISTS gmall
  2. CREATE TABLE `canal_test` (
  3. `体温` varchar(255) DEFAULT NULL,
  4. `身高` varchar(255) DEFAULT NULL,
  5. `体重` varchar(255) DEFAULT NULL,
  6. `文章` varchar(255) DEFAULT NULL,
  7. `日期` date DEFAULT NULL
  8. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  9. INSERT INTO `canal_test`(`体温`, `身高`, `体重`, `文章`, `日期`) VALUES ('36.5', '1.70', '180', '4', '2021-06-01');
  10. INSERT INTO `canal_test`(`体温`, `身高`, `体重`, `文章`, `日期`) VALUES ('36.4', '1.70', '160', '8', '2021-06-02');
  11. INSERT INTO `canal_test`(`体温`, `身高`, `体重`, `文章`, `日期`) VALUES ('36.1', '1.90', '134', '1', '2021-06-03');
  12. INSERT INTO `canal_test`(`体温`, `身高`, `体重`, `文章`, `日期`) VALUES ('37.3', '1.70', '110', '14', '2021-06-04');
  13. INSERT INTO `canal_test`(`体温`, `身高`, `体重`, `文章`, `日期`) VALUES ('35.7', '1.70', '133', '0', '2021-06-05');
  14. INSERT INTO `canal_test`(`体温`, `身高`, `体重`, `文章`, `日期`) VALUES ('36.8', '1.90', '200', '6', '2021-06-06');
  15. INSERT INTO `canal_test`(`体温`, `身高`, `体重`, `文章`, `日期`) VALUES ('37.5', '1.70', '132', '25', '2021-06-07');
  16. INSERT INTO `canal_test`(`体温`, `身高`, `体重`, `文章`, `日期`) VALUES ('35.7', '1.70', '160', '2', '2021-06-08');
  17. INSERT INTO `canal_test`(`体温`, `身高`, `体重`, `文章`, `日期`) VALUES ('36.3', '1.80', '131.4', '9', '2021-06-09');
  18. INSERT INTO `canal_test`(`体温`, `身高`, `体重`, `文章`, `日期`) VALUES ('37.3', '1.70', '98.8', '4', '2021-06-10');
  19. INSERT INTO `canal_test`(`体温`, `身高`, `体重`, `文章`, `日期`) VALUES ('37.3', '1.70', '65.8', '4', '2021-06-10');

11.上述内容都准备完后可以启动RocketMQ和canal

  1. RocketMQ windos启动命令:
  2. 1.启动rocketmq
  3. start mqnamesrv.cmd
  4. 2.启动brocker
  5. start mqbroker.cmd -n 127.0.0.1:9876 autoCreateTopicEnable=true

canal启动比较简单,windows下找到解压文文件中的bin/startup.bat 即可启动

12 修改数据库中的数据然后查MQ消息队列中的消息

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/445413
推荐阅读
相关标签
  

闽ICP备14008679号