Canal properties配置文件參數含義 - canal.properties(1)


properties配置文件

properties配置分為兩部分:

1、canal.properties  (系統根配置文件)

2、instance.properties  (instance級別的配置文件,每個instance一份)

 

canal.properties介紹

canal配置主要分為兩部分:

1、instance列表定義 (列出當前server上有多少個instance,每個instance的加載方式是spring/manager等)        

參數名字 參數說明 默認值
canal.destinations 當前server上部署的instance列表
canal.conf.dir conf/目錄所在的路徑 ../conf
canal.auto.scan 開啟instance自動掃描
如果配置為true,canal.conf.dir目錄下的instance配置變化會自動觸發:
a. instance目錄新增: 觸發instance配置載入,lazy為true時則自動啟動
b. instance目錄刪除:卸載對應instance配置,如已啟動則進行關閉
c. instance.properties文件變化:reload 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
canal.instance.example.lazy
canal.instance.example.spring.xml
.....
instance級別的配置定義,如有配置,會自動覆蓋全局配置定義模式
命名規則:canal.instance.{name}.xxx
canal.instance.tsdb.spring.xml v1.0.25版本新增,全局的tsdb配置方式的組件文件 classpath:spring/tsdb/h2-tsdb.xml (spring目錄相對於canal.conf.dir)

 

2、common參數定義,比如可以將instance.properties的公用參數,抽取放置到這里,這樣每個instance啟動的時候就可以共享.  【instance.properties配置定義優先級高於canal.properties】

參數名字 參數說明 默認值
canal.id 每個canal server實例的唯一標識,暫無實際意義 1
canal.ip canal server綁定的本地IP信息,如果不配置,默認選擇一個本機IP進行啟動服務
canal.port canal server提供socket服務的端口 11111
canal.zkServers canal server鏈接zookeeper集群的鏈接信息
例子:10.20.144.22:2181,10.20.144.51:2181
canal.zookeeper.flush.period canal持久化數據到zookeeper上的更新頻率,單位毫秒 1000
canal.instance.memory.batch.mode canal內存store中數據緩存模式
1. ITEMSIZE : 根據buffer.size進行限制,只限制記錄的數量
2. MEMSIZE : 根據buffer.size  * buffer.memunit的大小,限制緩存記錄的大小
MEMSIZE
canal.instance.memory.buffer.size canal內存store中可緩存buffer記錄數,需要為2的指數 16384
canal.instance.memory.buffer.memunit 內存記錄的單位大小,默認1KB,和buffer.size組合決定最終的內存使用大小 1024
canal.instance.transactionn.size 最大事務完整解析的長度支持
超過該長度后,一個事務可能會被拆分成多次提交到canal store中,無法保證事務的完整可見性
1024
canal.instance.fallbackIntervalInSeconds canal發生mysql切換時,在新的mysql庫上查找binlog時需要往前查找的時間,單位秒
說明:mysql主備庫可能存在解析延遲或者時鍾不統一,需要回退一段時間,保證數據不丟
60
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
canal.instance.detecting.heartbeatHaEnable 心跳檢查失敗后,是否開啟自動mysql自動切換
說明:比如心跳檢查失敗超過閥值后,如果該配置為true,canal就會自動鏈到mysql備庫獲取binlog數據
false
canal.instance.network.receiveBufferSize 網絡鏈接參數,SocketOptions.SO_RCVBUF 16384
canal.instance.network.sendBufferSize 網絡鏈接參數,SocketOptions.SO_SNDBUF 16384
canal.instance.network.soTimeout 網絡鏈接參數,SocketOptions.SO_TIMEOUT 30
canal.instance.filter.druid.ddl 是否使用druid處理所有的ddl解析來獲取庫和表名

true

canal.instance.filter.query.dcl 是否忽略dcl語句 false
canal.instance.filter.query.dml 是否忽略dml語句
(mysql5.6之后,在row模式下每條DML語句也會記錄SQL到binlog中,可參考MySQL文檔)
false
canal.instance.filter.query.ddl 是否忽略ddl語句 false
canal.instance.filter.table.error

是否忽略binlog表結構獲取失敗的異常

(主要解決回溯binlog時,對應表已被刪除或者表結構和binlog不一致的情況)

false
canal.instance.filter.rows

是否dml的數據變更事件

(主要針對用戶只訂閱ddl/dcl的操作)

false
canal.instance.filter.transaction.entry 是否忽略事務頭和尾,比如針對寫入kakfa的消息時,不需要寫入TransactionBegin/Transactionend事件 false
canal.instance.binlog.format 支持的binlog format格式列表
(otter會有支持format格式限制)
ROW,STATEMENT,MIXED
canal.instance.binlog.image 支持的binlog image格式列表
(otter會有支持format格式限制)
FULL,MINIMAL,NOBLOB
canal.instance.get.ddl.isolation

ddl語句是否單獨一個batch返回

(比如下游dml/ddl如果做batch內無序並發處理,會導致結構不一致)

false
canal.instance.parser.parallel

是否開啟binlog並行解析模式

(串行解析資源占用少,但性能有瓶頸, 並行解析可以提升近2.5倍+)

true
canal.instance.parser.parallelBufferSize binlog並行解析的異步ringbuffer隊列
(必須為2的指數)

256

canal.instance.tsdb.enable 是否開啟tablemeta的tsdb能力 true
canal.instance.tsdb.dir 主要針對h2-tsdb.xml時對應h2文件的存放目錄,默認為conf/xx/h2.mv.db ${canal.file.data.dir:../conf}/${canal.instance.destination:}
canal.instance.tsdb.url

jdbc url的配置

(h2的地址為默認值,如果是mysql需要自行定義)

jdbc:h2:${canal.instance.tsdb.dir}/h2;CACHE_SIZE=1000;MODE=MYSQL;
canal.instance.tsdb.dbUsername

jdbc url的配置

(h2的地址為默認值,如果是mysql需要自行定義)

canal
canal.instance.tsdb.dbPassword

jdbc url的配置

(h2的地址為默認值,如果是mysql需要自行定義)

canal
canal.instance.rds.accesskey

aliyun賬號的ak信息 (如果不需要在本地binlog超過18小時被清理后自動下載oss上的binlog,可以忽略該值)

canal.instance.rds.secretkey

aliyun賬號的sk信息

(如果不需要在本地binlog超過18小時被清理后自動下載oss上的binlog,可以忽略該值)

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM