日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql otter 数据同步_MySQL数据同步之otter

發布時間:2023/12/1 数据库 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql otter 数据同步_MySQL数据同步之otter 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、otter介紹

基于日志數據,用于MySQL或者ORACLE之間準實時同步數據。

用途:

mysql/oracle互相同步

中間表/行記錄同步

二、原理及架構圖

otter整體模塊

manager (提供web頁面進行同步管理)

arbitrate (分布式調度,可跨IDC機房)

node (同步過程setl)

canal / eromanga (同步數據來源)

大集群化部署

1個manager集群+?多個IDC機房node組成

1.?基于Canal,獲取數據庫增量日志數據。

2.?典型管理系統架構,manager(web管理)+node(工作節點)

a. manager運行時推送同步配置到node節點

b. node節點將同步狀態反饋到manager上

3.?基于zookeeper,解決分布式狀態調度的,允許多node節點之間協同工作.

4.目前支持MySQL-->MySQL ?MySQL-->ORACLE等異庫之間同步

三、需要安裝包

https://github.com/alibaba/otter/releases

manager.deployer-4.2.18.tar.gz

node.deployer-4.2.18.tar.gz

(安裝時候可能需要安裝下載工具,下載后編譯安裝https://liquidtelecom.dl.sourceforge.net/project/aria2/stable/aria2-1.19.0/aria2-1.19.0.tar.gz)

canal.deployer-1.1.4.tar.gz

四、安裝簡要步驟

manager安裝

1.otter manager依賴于mysql進行配置信息的存儲,所以需要預先安裝mysql,并初始化otter manager的系統表結構

a.?安裝mysql,這里不展開,網上一搜一大把

b.?初始化otter manager系統表:

2.?整個otter架構依賴了zookeeper進行多節點調度,所以需要預先安裝zookeeper

a. manager需要在otter.properties中指定一個就近的zookeeper集群機器

## otter manager domain name #修改為正確訪問ip,生成URL使用

otter.domainName = 127.0.0.1

## otter manager http portotter.port = 8082 #按需調整默認8080

## jetty web config xml otter.jetty = jetty.xml

otter manager database config?,修改為正確數據庫信息

otter.database.driver.class.name = com.mysql.jdbc.Driver

otter.database.driver.url = jdbc:mysql://127.0.01:3306/ottermanager

otter.database.driver.username = root

otter.database.driver.password = Dr@.1214

otter.zookeeper.cluster.default = 127.0.0.1:2181

訪問:

node安裝

具體安裝詳見:https://github.com/alibaba/otter/wiki/Node_Quickstart

1. otter node會受otter manager進行管理,所以需要預先安裝otter manager

2.?完成manager安裝后,需要在manager頁面為node定義配置信息,并生一個唯一id.

a. nid配置(將環境準備中添加機器后獲取到的序號,保存到conf目錄下的nid文件,比如我添加的機器對應序號為6)

3.node節點進行跨機房傳輸時,會使用到HTTP多線程傳輸技術,目前主要依賴了aria2c做為其下載客戶端,后續會推出java版本.

a. aria2?官方首頁:http://aria2.sourceforge.net/

b.?下載頁面:http://sourceforge.net/projects/aria2/files/stable/

cancal安裝

主要用途是基于?MySQL?數據庫增量日志解析,提供增量數據訂閱和消費。

canal?作為MySQL binlog增量獲取和解析工具,可將變更記錄投遞到MQ系統中,比如Kafka/RocketMQ。也可以直接把數據發送到es hbase等

具體參考:

https://github.com/alibaba/canal

我們配置一個同步任務:

操作步驟:?1. ?添加數據庫

a.?源庫?jdbc:mysql://localhost:3306

b.?目標庫?jdbc:mysql://localhost:3370

2. ?添加channel

說明:

a.?同步一致性

基于數據庫反查?(簡單點說,就是強制反查數據庫,從binlog中拿到pk,直接反查對應數據庫記錄進行同步,回退到幾天前binlog進行消費時避免同步老版本的數據時可采用)

基于當前日志變更?(基于binlog/redolog解析出來的字段變更值進行同步,不做數據庫反查,推薦使用)

b.?同步模式

行模式?(兼容otter3的處理方案,改變記錄中的任何一個字段,觸發整行記錄的數據同步,在目標庫執行merge sql)

列模式?(基于log中的具體變更字段,按需同步)

c.?特殊組合:(同樣支持)

基于數據庫反查+列模式

基于當前日志變更+行模式

3. ?添加同步表信息

a.?源數據表?demo.t_yq

b.?目標數據表?demo_3370.t_yq

4.?添加pipeline

a.?選擇node節點

b.?選擇canal

5.?添加同步映射規則

a.?定義源表和目標表的同步關系

6.?啟動

7.?測試數據

源端插入數據

簡單的介紹了otter使用,下期我們在看下雙向同步以及canal同步數據到es

總結

以上是生活随笔為你收集整理的mysql otter 数据同步_MySQL数据同步之otter的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。