canal server 标准化集群搭建(完结)

4.2. 创建 server

所属集群:选择刚才添加的集群名称

server 名称: server_1server_2server_3 依次类推

server ipserver ip 地址

admin 端口:canal server canal admin 的通信端口,非生产环境从 21110 开始,生产从 12110 开始,每次加10

tcp 端口:canal server 工作端口,非生产环境从 21111 开始,生产从 12111 开始,每次加10

metric 端口:canal server prometheus 监控的通信端口,非生产环境从 21112 开始,生产从 12112 开始,每次加10

4.3. 修改 canal server 配置

集群模式下,因为 一套 canal server 包含了多个 host,所以为了保证配置的一直, canal server 的配置需要从集群管理处操作。

依次点击集群管理➡️  “操作➡️  “主配置,修改 canal server canal.properties 配置信息。

点击载入模板,加载配置模板内容,修改内容类似 canal server node 中的 canal.properties 配置

# 第8、9行修改端口

canal.port = 21121

canal.metrics.pull.port = 21122

# 第11、12行取消注释

canal.user = canal

canal.passwd = E3619321C1A937C46A0D8BD1DAC39F93B27D4458

# 第15行取消注释,修改 admin server 地址

canal.admin.manager = 10.179.251.164:8089

# 第16行修改端口

canal.admin.port = 21120

# 第20行添加 zk server

canal.zkServers = 10.179.250.221:2181,10.179.250.150,10.179.251.161

# 第60行修改为 true

canal.instance.filter.table.error = true

# 第79行修改为 false

canal.instance.tsdb.enable = false

# 第92行添加 instance name

canal.destinations = c_test_saber_warehouse

# 第106行注释

#canal.instance.global.spring.xml = classpath:spring/file-instance.xml

# 第107行取消注释

canal.instance.global.spring.xml = classpath:spring/default-instance.xml

# 保存

4.4. 创建 canal instance

依次点击 “instance 管理➡️  “选择 canal server 集群➡️  “输入 instance 名称(与 destination 一致)➡️  “载入模板

加载配置模板内容,修改内容类似 canal server node 中的 instance.properties 配置

# 第9行修改源数据库地址:端口

canal.instance.master.address=10.179.250.150:3306

# 第33行修改为源数据库抽数用户,权限为 replication client、replication slave、指定库的 select 权限

canal.instance.dbUsername=u_test_dhr_org_srv

# 第34行修改为源数据库抽数用户的密码

canal.instance.dbPassword=xxxxxxxxxxx

# 第41行修改为要抽取的数据库(白名单)

canal.instance.filter.regex=dhr-organization-service\\..*

# 第50行修改为instance name,要与上级目录名、canal.properties 中的 intance name 一致

canal.mq.topic=c_test_dhr_org_srv

# 保存

过滤规则

全库全表 canal.instance.filter.regex
.*\\..*
.*\\..*

指定库全表
canal.instance.filter.regex

库名\..*
test\..*

单表
canal.instance.filter.regex
库名.表名 test.user
多规则组合使用
canal.instance.filter.regex
库名1\..*,库名2.表名1,库名3.表名2 (逗号分隔)
test\..*,test2.user1,test3.user2 (
逗号分隔)

5. 启动 canal server 集群操作顺序

如下操作顺序包含了 canal server 集群所有涉及的组件的启动顺序

  1. 启动 zk server cluster
  2. 启动 zk ui web 服务
  3. 启动 canal admin web 服务
  4. 依次登陆各个 canal server (部署 canal deploye 包的服务器123),执行 startup.sh,启动 canal server 进程
  5. 切换到 canal admin web 中,依次点击 “server 管理➡️  “操作➡️  “启动,启动 server1 server2server3,启动成功后,页面的状态会变成启动
  6. 切换到 “instance 管理,观察状态启动,再点击操作➡️  “日志,查看内容,如果有如下输出,说明canal server 成功连到了源数据库

2020-12-22 18:30:02.099 [destination = c_test_dhr_org_srv_prev , address = /10.179.250.150:3306 , EventParser] WARN  c.a.o.c.p.inbound.mysql.rds.RdsBinlogEventParserProxy - ---> find start position successfully, EntryPosition[included=false,journalName=mysql-bin.000252,position=599429086,serverId=1403306,gtid=,timestamp=1608632940000] cost : 1ms , the next step is binlog dump

  1. 检查 zk ui,查看 /otter/canal/destination/c_stage_dhr_entry 目录的 running 字典中 acive  trueaddress 与启动的server匹配,表示正常
  2. 通知开发启动 client 消费 binlog
  3. client 启动后,再次登陆 zk ui 确认 client 在成功消费,如图所示,/otter/canal/destination/c_stage_dhr_entry/1001/ 目录中 cursor 字典中包含 binlog

  1. 信息,表示消费正常
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秒变学霸的18岁码农

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值