canal.properties
部分1:canal--common参数
参数 参数说明 默认值 canal.id 每个canal server实例唯一标识,保证每个不同即可,暂无实际意义 1 canal.ip server绑定的本地主机IP信息,默认当前主机 无 canal.port server提供socket服务的端口 11111 canal.metrics.pull.port 与监控有关 11112 canal.zkServers canal server链接zookeeper集群的链接信息 无 canal.withoutNetty canal.zookeeper.flush.period canal持久化数据到zookeeper上的更新频率,单位毫秒 1000 canal.file.data.dir = ${canal.conf.dir} canal.instance.memory.batch.mode canal内存中数据缓存模式 MEMSIZE 1. ITEMSIZE : 根据buffer.size进行限制,只限制记录的数量 2. MEMSIZE : 根据buffer.size * buffer.memunit的大小,限制缓存记录的大小 canal.instance.memory.buffer.size canal内存store中可缓存buffer记录数,需要为2的指数 默认2^256 16384 canal.instance.memory.rawEntry TRUE canal.instance.memory.buffer.memunit 内存记录的单位大小和buffer.size组合决定最终的内存使用大小,默认1KB 1024 canal.instance.transactionn.size 最大事务完整解析的长度支持 1024 超过该长度后,一个事务可能会被拆分成多次提交到canal store中,无法保证事务的完整可见性 canal.instance.fallbackIntervalInSeconds canal发生mysql切换时,在新的mysql库上查找binlog时需要往前查找的时间,单位秒 60 说明:mysql主备库可能存在解析延迟或者时钟不统一,需要回退一段时间,保证数据不丢 canal.instance.detecting.enable 是否开启心跳检查 FALSE canal.instance.detecting.sql 心跳检查sql 默认 insert into retl.xdual values(1,now()) on duplicate key update x=now() canal.instance.detecting.interval.time 心跳检查频率,单位秒 3 canal.instance.detecting.retry.threshold 心跳检查失败重试次数 3 部分2:canal--destination参数
canal.destinations 当前server上部署的instance列表 无,例如example1,example2 canal.conf.dir conf/目录所在的路径 ../conf canal.auto.scan 开启instance自动扫描 TRUE canal.auto.scan.interval instance自动扫描的间隔时间,单位秒 5 canal.instance.global.mode 全局配置加载方式 spring canal.instance.global.lazy 全局lazy模式 FALSE canal.instance.global.manager.address 全局的manager配置方式的链接信息 无 canal.instance.global.spring.xml 全局的spring配置方式的组件文件 classpath:spring/memory-instance.xml (spring目录相对于canal.conf.dir) canal.instance.example.mode instance级别的配置定义,如有配置,会自动覆盖全局配置定义模式 无 canal.instance.example.lazy 命名规则:canal.instance.{name}.xxx canal.instance.example.spring.xml canal.instance.tsdb.spring.xml v1.0.25版本新增,全局的tsdb配置方式的组件文件 classpath:spring/tsdb/h2-tsdb.xml (spring目录相对于canal.conf.dir) 配置模板:
example/instance.properties
canal.mq.flatMessage = true 生产到kafka的消息就是json的, 否则就是protobuf二进制的