视频参考:`

https://www.bilibili.com/video/BV1tb4y1676p

1.开启mysql中binlog模式

修改mysql配置文件

[mysqld]
log-bin=mysql-bin # 开启 binlog
binlog-format=ROW # 选择 ROW 模式
server_id=1 # 配置 MySQL replaction 需要定义,不要和 canal 的 slaveId 重复

进入etc目录下:
在这里插入图片描述
在这里插入图片描述
加入以下内容:

log-bin=mysql-bin
binlog-format=ROW
server_id=12345

2.安装rocketmq

拉取镜像

docker pull rocketmqinc/rocketmq

在这里插入图片描述
启动namesrv服务

docker run -d -p 9876:9876 \
-v /export/server/mq/data/namesrv/logs:/root/logs \
-v /export/server/mq/data/namesrv/store:/root/store \
--name rmqnamesrv \
-e "JAVA_OPTS=-Duser.home=/opt" \
-e "JAVA_OPT_EXT=-server -Xms512m -Xmx512m" rocketmqinc/rocketmq sh mqnamesrv

在这里插入图片描述
配置broker文件
在这里插入图片描述

brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
#换成网络IP
namesrvAddr = 192.168.3.36:9876
#换成网络IP
brokerIP1 = 192.168.3.36
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true
#消费端重试次数与间隔
messageDelayLevel=5s 10s 15s 35s 55s 105s 205s 305s 405s 505s 605s 705s 805s 905s 1005s 1015s 1025s 1355s

启动broker服务

docker run -d -p 10911:10911 -p 10909:10909 \
-v /export/server/mq/data/broker/logs:/root/logs \
-v /export/server/mq/rocketmq/data/broker/store:/root/store \
-v /export/server/mq/conf/broker.conf:/opt/rocketmq/conf/broker.conf \
--name rmqbroker \
--link rmqnamesrv:namesrv \
-e "NAMESRV_ADDR=namesrv:9876" \
-e "JAVA_OPTS=-Duser.home=/opt" \
-e "JAVA_OPT_EXT=-server -Xms512m -Xmx512m" rocketmqinc/rocketmq sh mqbroker \
-c /opt/rocketmq/conf/broker.conf

在这里插入图片描述
安装控制台
在这里插入图片描述

docker pull styletang/rocketmq-console-ng

在这里插入图片描述

docker run -d -e "JAVA_OPTS=-Drocketmq.config.namesrvAddr=192.168.3.36:9876 \
-Drocketmq.config.isVIPChannel=false" -p 8003:8080 -t styletang/rocketmq-console-ng

访问控制台:

http://192.168.3.36:8003/#/message

在这里插入图片描述

3.安装canal

链接:https://pan.baidu.com/s/1ym8gkS7QKpam3wyv52bQag 
提取码:b2a0

解压文件:
在这里插入图片描述

[root@localhost canal]# tar zxvf canal.deployer-1.1.5.tar.gz

修改配置文件 vi /export/server/canal/conf/example/instance.properties
instance.properties

在这里插入图片描述
在这里插入图片描述
修改配置文件:vi /export/server/canal/conf/canal.properties
在这里插入图片描述
在这里插入图片描述
启动canal

sh bin/startup.sh

停止

sh bin/stop.sh

代码测试

链接:https://pan.baidu.com/s/1Zt_kWgreEqbdNyNMV-Wj1A 
提取码:hdjh
GitHub 加速计划 / ca / canal
53
10
下载
alibaba/canal: Canal 是由阿里巴巴开源的分布式数据库同步系统,主要用于实现MySQL数据库的日志解析和实时增量数据订阅与消费,广泛应用于数据库变更消息的捕获、数据迁移、缓存更新等场景。
最近提交(Master分支:4 个月前 )
8a4199a7 * 1. Fix compressed OSS binlog data 2. Fix first second data loss caused by dumping from OSS binlog * Fix CI failed test cases 19 天前
79338be0 - String.format is lower than StringBuilder. Benchmark like below: code snippet: String str = String.format("%s-%s-%s", 0, 1, 10); Benchmark Mode Cnt Score Error Units StringBenchmark.append thrpt 46431458.255 ops/s StringBenchmark.format thrpt 985724.313 ops/s StringBenchmark.append avgt ≈ 10⁻⁸ s/op StringBenchmark.format avgt ≈ 10⁻⁶ s/op StringBenchmark.append sample 364232 ≈ 10⁻⁷ s/op StringBenchmark.append:p0.00 sample ≈ 10⁻⁸ s/op StringBenchmark.append:p0.50 sample ≈ 10⁻⁷ s/op StringBenchmark.append:p0.90 sample ≈ 10⁻⁷ s/op StringBenchmark.append:p0.95 sample ≈ 10⁻⁷ s/op StringBenchmark.append:p0.99 sample ≈ 10⁻⁷ s/op StringBenchmark.append:p0.999 sample ≈ 10⁻⁷ s/op StringBenchmark.append:p0.9999 sample ≈ 10⁻⁵ s/op StringBenchmark.append:p1.00 sample 0.001 s/op StringBenchmark.format sample 336220 ≈ 10⁻⁶ s/op StringBenchmark.format:p0.00 sample ≈ 10⁻⁶ s/op StringBenchmark.format:p0.50 sample ≈ 10⁻⁶ s/op StringBenchmark.format:p0.90 sample ≈ 10⁻⁶ s/op StringBenchmark.format:p0.95 sample ≈ 10⁻⁶ s/op StringBenchmark.format:p0.99 sample ≈ 10⁻⁶ s/op StringBenchmark.format:p0.999 sample ≈ 10⁻⁵ s/op StringBenchmark.format:p0.9999 sample ≈ 10⁻⁴ s/op StringBenchmark.format:p1.00 sample 0.001 s/op StringBenchmark.append ss ≈ 10⁻⁶ s/op StringBenchmark.format ss ≈ 10⁻⁵ s/op 19 天前
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐