實時同步單表數據時,當輸入數據源為PolarDB時,執行同步任務前,您需要參考本文在數據源中配置好網絡、白名單等配置,為后續的數據同步做好網絡環境和賬號權限的準備。
前提條件
在進行數據源配置前,請確保已完成以下規劃與準備工作。
數據源準備:已購買輸入數據源PolarDB MySQL、輸出數據源。輸出數據源可以為MaxCompute、Hologres、Elasticsearch、DataHub及Kafka。本文以阿里云PolarDB MySQL作為來源數據源進行示例。
資源規劃與準備:已購買獨享數據集成資源組,并完成資源配置。詳情可參見資源規劃與配置。
網絡環境評估與規劃:進行數據集成前,您需根據業務情況,打通數據源、獨享數據集成資源組之間的網絡,網絡聯通后參考本文進行交換機、白名單等網絡環境下的訪問配置。
如果數據源和獨享數據集成資源組均處于同地域的同一VPC網絡中,數據源與資源組間的網絡天然聯通。
如果數據源和獨享數據集成資源組均處于不同的網絡環境中,您需要通過VPN網關等方式,將數據源與資源組間的網絡打通。
背景信息
將輸入數據源的數據同步至輸出數據源時,您需要保障數據源與DataWorks的數據集成資源組在網絡上是聯通的,且不存在賬號權限的訪問限制。
網絡白名單
以下以使用同一VPC網絡環境為例,您需要將數據集成資源組所在的VPC網段添加至白名單中,保障數據集成資源組可訪問數據源。
賬號權限
您需要規劃一個可訪問數據源的賬號,用于后續數據集成過程中訪問數據源并進行數據提取、寫入的同步操作。
其他訪問限制。
輸入數據源為阿里云PolarDB MySQL時,您需要開啟Binlog。阿里云PolarDB MySQL是一款完全兼容MySQL的云原生數據庫,默認使用了更高級別的物理日志代替Binlog,但為了更好地與MySQL生態融合,PolarDB支持開啟Binlog的功能。
使用限制
目前僅支持使用同步方案同步PolarDB MySQL類型的數據源,不支持同步其他類型的PolarDB數據源。文中均使用PolarDB代指PolarDB MySQL類型的數據源。
PolarDB目前只能用主節點(讀寫庫)進行實時同步。
不支持XA ROLLBACK,針對已經XA PREPARE的事務數據,實時同步會將其同步到目標端,如果XA ROLLBACK,實時同步不會針對XA PREPARE的數據做回滾寫入的操作。若要處理XA ROLLBACK場景,需要手動將XA ROLLBACK的表從實時同步任務中移除,再添加表后重新進行全量數據初始化以及增量實時同步。
操作步驟
配置白名單。
將獨享數據資源組所在的VPC網段添加至PolarDB集群白名單中,操作如下:
查看并記錄獨享數據資源組所在的VPC網絡。
登錄DataWorks控制臺。
在左側導航欄,單擊資源組列表。
在獨享資源組頁簽下,單擊目標數據集成資源組后的查看信息。
復制對話框中的EIP地址和網段至數據庫白名單。
在獨享資源組頁簽下,單擊目標數據集成資源組后的網絡設置。
在專有網絡綁定頁簽,查看交換機網段并將其添加至數據庫的白名單中。
將上述步驟中記錄的獨享數據資源組的EIP和網段添加至PolarDB的白名單中。
操作詳情可參見設置白名單。
創建賬號并配置賬號權限。
您需要規劃一個數據庫的登錄賬戶用于后續執行操作,此賬戶需擁有數據庫的
SELECT, REPLICATION SLAVE, REPLICATION CLIENT
權限。創建賬號。
操作詳情可參見創建數據庫賬號。
配置權限。
您可參考以下命令為賬號添加此權限,或直接給賬號賦予
SUPER
權限。-- CREATE USER '同步賬號'@'%' IDENTIFIED BY '同步賬號'; GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO '同步賬號'@'%';
開啟PolarDB的Binlog。
操作詳情可參見開啟Binlog。
后續步驟
配置完成數據源后,輸入數據源、資源實例、輸出數據源彼此間已可網絡聯通,且不存在訪問限制。您可將輸入數據源和輸出數據源添加至DataWorks的數據源列表中,便于后續創建數據同步方案時關聯輸入和輸出數據源。添加數據源操作可參見添加數據源。