otter學習 | 配置最簡同步任務
阿新 • • 發佈:2019-02-20
大致過程:
演示說明:
- 搭建一個數據庫同步任務,源資料庫ip為:192.168.134.129,目標資料庫ip為:192.168.134.131。源資料庫已開啟binlog,並且binlog_format為ROW;
- 資料同步精確到一張表進行測試,測試的表名為test.example,簡單包含兩個子段,測試過程中才建立;
- 配置完成後,手動在源庫插入資料,然後快速在目標庫進行檢視資料,驗證資料是否同步成功。
演示文字:
CREATE TABLE `test`.`example` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(32) COLLATE utf8_bin DEFAULT NULL ,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
insert into test.example(id,name) values(null,'hello');
操作步驟:
- 新增資料庫
a. 源庫 jdbc:mysql://192.168.134.129:3306
b. 目標庫 jdbc:mysql://192.168.134.131:3306 - 新增canal
a. 提供資料庫ip資訊 - 新增同步表資訊
a. 源資料表 test.example
b. 目標資料表 test.example - 新增channel
- 新增pipeline
a. 選擇node節點
b. 選擇canal - 新增同步對映規則
a. 定義源表和目標表的同步關係 - 啟動
- 測試資料
幾點注意:
- 對應node機器選擇時,建議遵循:S/E節點選擇node需儘可能離源資料庫近,T/L節點選擇node則離目標資料庫近。如果無法提供雙節點,則選擇離目標資料庫近的node節點相對合適。
- canal中配置解析的資料庫ip需要和對映關係中源表對應的資料庫ip一致。ps:對映關係進行匹配的時候是基於表名,雖然資料庫ip不匹配也會是有效。
演示環境(借用一下官方的圖)
注:如果圖片看不清,可以右鍵在新標籤頁中開啟圖片
一、 新增資料庫
a. 源庫 jdbc:mysql://192.168.134.129:3306
b. 目標庫 jdbc:mysql://192.168.134.131:3306
二、新增canal
提供資料庫ip資訊
三、新增同步表資訊
a. 源資料表 test.example
b. 目標資料表 test.example
四、新增channel
五、新增pipeline
點選Channel管理列表剛新增的Channel的名字。
a. 選擇node節點
b. 選擇canal
六、新增同步對映規則
點選Pipeline管理列表剛新增的Pipeline的名字。
a. 定義源表和目標表的同步關係