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


    4.2. 创建 server

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

    server 名称: server_1、server_2、server_3 依次类推

    server ip:server 的 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 包的服务器1、2、3),执行 startup.sh,启动 canal server 进程
    5. 切换到 canal admin web 中,依次点击 “server 管理” ➡️  “操作” ➡️  “启动”,启动 server1、 server2、server3,启动成功后,页面的 “状态” 会变成 “启动”
    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 为 true,address 与启动的server匹配,表示正常
    2. 通知开发启动 client 消费 binlog
    3. client 启动后,再次登陆 zk ui 确认 client 在成功消费,如图所示,/otter/canal/destination/c_stage_dhr_entry/1001/ 目录中 cursor 字典中包含 binlog

    1. 信息,表示消费正常
  • 相关阅读:
    (附源码)mysql音乐播放器小程序 毕业设计 170900
    G4012溧宁高速青云岭隧道隧道高清晰广播现场测试效果视频
    Kafka集群搭建配置
    Node.js 入门教程 19 package-lock.json 文件
    消费升级下摩托车TBOX市场未来十年CAN数据应用发展趋势展望
    flink统计次数
    MySQL数据库期末考试试题及参考答案(03)
    【.NET8】访问私有成员新姿势UnsafeAccessor(下)
    【C语言】宏定义
    fiddler导出录制脚本并导出jmter脚本文件
  • 原文地址:https://blog.csdn.net/2301_76957510/article/details/130903756