测试背景
本次测试在本地,用3个库做同步测试,由canal_master_1和canal_master_2往canal_sync同步数据
文件配置
canal的配置会涉及到文件夹、配置文件、配置文件之间的关联,总的逻辑关系如下
deployer配置
deployer的主要作用是对数据库进行监听,伪装destination的从库,解析其binlog
canal/conf/canal.properties 是deployer主配置我们主要关注destinations下的配置
#################################################
######### destinations #############
#################################################
# master1和master2对应着conf下的两个文件夹,其中存放着具体的监听库信息、库表过滤规则等
canal.destinations = master1,master2
ps:多余配置已经裁剪,只关注主要修改配置
master1(2)文件夹配置
master1(2)文件夹就对应着destinations中的配置项,其含义是被监听的数据源,该文件夹下存放其相关配置在instance.properties
# username/password
canal.instance.master.address=127.0.0.1:3306
canal.instance.dbUsername=root
canal.instance.dbPassword=12345678
canal.instance.connectionCharset = UTF-8
# 默认监听源数据库
canal.instance.defaultDatabaseName=canal_master_1
canal.instance.enableDruid=false
# table regex
canal.instance.filter.regex=canal_master_1.order,canal_master_1.order_item
adapter配置
adapter端的作用是解析来自deployer端的binlog数据并适配转储到各种数据库本次案例中是从mysql适配到mysql.
adapter的主配置在conf/application.yml
outerAdapters代表着外部适配器配置,也就是conf配置下单独拎出来文件夹存放配置的意思
- name 代表文件夹名称,这里mysql使用的是rdb
- key 是代表具体配置名称,该配置主要是配置映射规则
- properties 其下