otter雙A同步配置


                  otter雙A配置

  最近做跨國服務器的數據同步,用了阿里的otter開源框架,遇到了不少問題,寫一下文檔為以后做參考。

  第一步:

    下載所需的文件 :otter,zookeeper,aria2

    otter下載地址:https://github.com/alibaba/otter

    zookeeper下載地址:https://github.com/apache/zookeeper

    aria2下載地址:http://sourceforge.net/projects/aria2/files/stable/

    zookeeper :的配置網上有很多

    aria2 : 加速文件傳輸用的 使用方法網上搜,很多

    這里主要寫對otter的使用

 

  第二步:

     進入$otter_home目錄

     執行:mvn clean install -Dmaven.test.skip -Denv=release

     運行完后在 $otter_home 會生成  target 文件   解壓文件中的  manager  和  node 文件

     文件啟動順序  aria2 > zookeeper  >  manager >  node 

服務器環境搭建 :

   一:在 A B 服務器中安裝  jdk  mysql   

    

    安裝MySQL

      安裝完成后配置文件可根據現有的配置文件進行修改:

      必須啟用binlog而且只支持ROW格式

      log-bin=mysql-bin

      binlog-format=ROW

      為了保證在同步過程中不意外產生數據差異,啟用binlog的實時同步到磁盤的操作(此操作會對磁盤IO有開銷),

        避免在服務突然中斷過程中差生binlog丟失造成服務無法啟用:

      sync_binlog=1

      為提高兼容性最好默認就使用UTF8

      character-set-server=utf8

      指定固定的數據存儲文件夾:

      mkdir /data/mysql

      datadir=/data/mysql

      此數據庫集群里面的每台MySQL的server-id必須不同,經過溝通為了保證伺候服務器集群的需求,暫定為8:

      server-id=2

      auto-increment-increment=8

      auto-increment-offset=1

 

 

     二: 在 A 中配置 ( node ) 在 B 中配置 ( zookeeper  manager  node

    導入需要的的表:

      #mysql -uroot -pabc-123 <otter-manager-schema.sql

      #mysql -uroot -pabc-123 <otter-manager-retl.sql

    manager安裝:

      mkdir -p /usr/local/manager

      tar xf manager.deployer-4.2.12.tar.gz -C /usr/local/mamager

      cd /usr/local/mamager/conf

      vim otter.properties

      otter.domaniName = 10.0.0.2

      otter.port = 8081

      otter.database.driver.url = jdbc:mysql://10.0.0.2:3306/otter

      otter.database.driver.username = root

      otter.database.driver.password = abc-123

      otter.zookeeper.cluster.default = 10.0.0.2:2181;10.0.0.2:2182;

   啟動manager  : /startup.sh

      vim otter. properties

      otter.manager.address = 10.0.0.2:1099

      cd /usr/local/node/bin

=================================到 此  A  服務器搭建完畢。==============================

  配置B服務器:

    1:安裝MySQL

      安裝完成后配置文件可根據現有的配置文件進行修改:

      必須啟用binlog而且只支持ROW格式

      log-bin=mysql-bin

      binlog-format=ROW

      為了保證在同步過程中不意外產生數據差異,啟用binlog的實時同步到磁盤的操作(此操作會對磁盤IO有開銷),

        避免在服務突然中斷過程中差生binlog丟失造成服務無法啟用:

      sync_binlog=1

      為提高兼容性最好默認就使用UTF8

      character-set-server=utf8

      指定固定的數據存儲文件夾:

      mkdir /data/mysql

      datadir=/data/mysql

      此數據庫集群里面的每台MySQL的server-id必須不同,經過溝通為了保證伺候服務器集群的需求,暫定為8:

      server-id=2

      auto-increment-increment=8

      auto-increment-offset=1

 

    2:安裝java

        rpm -ivh jdk-8u74-linux-x64.rpm

    3:安裝aria2

      tar xf aria2-1.17.1.tar.gz

          mv aria2-1.17 /usr/local/aria2

          cd /usr/local/aria2

          ./configure

        make

        make install

  

    4:安裝zookeeper

        mkdir /usr/local/zk

        tar xf zookeeper-3.5.1-alpha.tar.gz -C /usr/local/zk

        cd /usr/local/zk

        mkdir data

        cd data

        echo “3” >myid

        cd ..

        cd  conf

        cp zoo_sample.cfg zoo.cfg

        vim zoo.cfg

        dataDir=/usr/local/zk/data

        server.1 =10.0.0.2:8881:7771

        server.2 =10.0.0.2:8882:7772

        server.3 =10.0.0.3:8883:7773:observer

        :x

   5:安裝node

        vim otter. properties

        otter.manager.address = 10.0.0.2:1099

        cd /usr/local/node/bin

   6:導入需要的表

        #mysql -uroot -pabc-123 <otter-manager-retl.sql

        otter-manager-retl.sql這個創建表會創建用戶,請修改次用戶的密碼。

 

  配置otter

    登錄manager 地址為  manager中配置的

    賬號:admin

    密碼:admin

    登陸后必須修改。

    1:添加zookeeper集群

         

    2:添加node

      

      將 A , B 兩個 node 的ip地址

        

          此處需要注意,在選擇zookeeper集群的時候需要就近選擇。

 

          添加之后會生成node的號碼,當你啟用node的時候會受到報錯需要nid,此處的nid就是以當你添加之后manager給node分配的號碼為准:

 

          

          cd /usr/local/node/conf

          echo “1”>nid

          啟動node,所有的node都需要啟動

          cd /usr/local/node/bin

          ./startup.sh

          都啟動后稍后刷新manager  node 狀態為啟動狀態

 

      

    3:添加數據源

            

 

     

    4:添加數據表

     這地方添加需要同步的數據表:

        

    

    5:配置cannal

         

  

    6:配置channel

           

      

    7:Pipeline管理

     配置2個Pipeline

           

     如果要用DDL同步,一個pipeline開啟ddl同步,另一個不要開啟,且都要開啟跳過ddl異常,DryRun模式 不要開啟

 

    8:添加映射關系

       

            到此可以點擊運行進行。

 

      成功開啟后如下圖:

 

            

 

 

 

     監控管理

         監控項目:

         同步延遲,position超時(位點超過多少時間沒有更新) , 一般業務方關心這些即可

         異常 (同步運行過程中出現的異常,比如oracle DBA關心oracle系統ORA-的異常信息,mysql DBA關心mysql數據庫相關異常)

         process超時(一個批次數據執行超過多少時間),同步時間超時(數據超過多少時間沒有同步成功過)

      閥值設置

        1800@09:00-18:00 , 這例子是指定了早上9點到下午6點,報警閥值為1800.

      發送對象

        otterteam為otter團隊的標識,阿里內部使用了dragoon系統監控報警通知,如果外部系統可實現自己的報警通知機制

            

      修改發送對象:

        

 

 

注意:

1,安裝依賴包yum install -y nc

2,域名的問題,在實際的生產過程中最好綁定域名,如無dns可使用hosts文件,如果不綁定域名manager的很多查看功能會報錯

 


免責聲明!

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



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