• 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. 信息,表示消费正常
  • 相关阅读:
    “元宇宙”最权威的解释来了!全国科技名词委研讨会达成共识
    鸿蒙系统(HarmonyOS)--第一章
    DateTimeUtils 日期时间相关的工具类
    Volatile:JVM 我警告你,我的人你别乱动!
    在虚拟机安装JDK
    嵌入式开发--RS-485通讯的问题
    C++ 11/14/17/20 核心特性列表
    网络设备远程登录和管理-双厂商
    【Docker】五分钟完成Docker部署Java应用,你也可以的!!!
    【lambda表达式】Comparator接口
  • 原文地址:https://blog.csdn.net/2301_76957510/article/details/130903756