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超时(一个批次数据执行超过多少时间),同步时间超时(数据超过多少时间没有同步成功过)

      阀值设置

        [email protected]:00-18:00 , 这例子是指定了早上9点到下午6点,报警阀值为1800.

      发送对象

        otterteam为otter团队的标识,阿里内部使用了dragoon系统监控报警通知,如果外部系统可实现自己的报警通知机制

           

      修改发送对象:

        

注意:

1,安装依赖包yum install -y nc

2,域名的问题,在实际的生产过程中最好绑定域名,如无dns可使用hosts文件,如果不绑定域名manager的很多查看功能会报错

时间: 2024-10-18 20:26:04

otter双A同步配置的相关文章

mysql主主同步配置

                                                                        MySQL 主主同步配置  服务器名    IP    系统    MySQL 主机名 地址 系统 MYSQL-SERVER blog.sjf.com 11.1.0.200 CentOS-6.8 5.1.73-7 image.sjf.com 11.1.0.19 CentOS-6.8 5.1.73-7 一. 假设要同步的库是 test 我们这里先创建同步账

mysql双主同步

在实际项目中,两台分布于异地的主机上安装有MYSQL数据库,两台服务器互为主备,客户要求当其中一台机器出现故障时,另外一台能够接管服务器上的应用,这就需要两台数据库的数据要实时保持一致,在这里使用MYSQL的同步功能实现双机的同步复制. 1.数据库同步设置 主机操作系统:centos 数据库版本:mysql Ver 14.12 Distrib 5.0.22 前提:MYSQL数据库正常启动 假设两台主机地址分别为: ServA:192.168.0.101 ServB:192.168.0.203 I

Docker Mysql主主同步配置搭建Demo

主主同步配置和主从配置很相似,仅需稍做修改就可以了,对主从配置有疑问可以查看 上一篇文章. 进行Docker操作前,先建立目录,我的路径是d:/docker/mysql,目录结构如下: --mysql    --mone       --data        --conf          --my.cnf        --mtwo       --data        --conf          --my.cnf  1.主主配置文件 Mone: my.cnf [mysqld] ser

Linux服务器集群架构部署搭建(六)数据库服务器MySQL编译安装及主从同步配置(1)

命运是大海,当你能够畅游时,你就要纵情游向你的所爱,因为你不知道狂流什么会到来,卷走一切希望与梦想. 作者:燁未央_Estelle声明:测试学习,不足之处,欢迎指正. 第一章 数据库企业应用场景 1.1 数据库的企业应用 MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性.MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言.MySQL软件采用了双授权政策,它分为社区版和商业版,由于其体积小.速度快.总

Mysql 5.6主从同步配置

主从同步,本质是利用数据库日志,将主库数据复制一份到从库,本质上是使用了数据复制技术. 本文概要 主库的基本配置 从库的基本配置 完全同步的步骤 注意事项 工作原理 1. 主库的基本配置 做两件事:启用日志(记录数据库操作),赋予从库复制权限.配置如下: 启用日志: # sync_binlog=1 #默认为0,当 sync_binlog=0,当事务提交之后,MySQL不做fsync之类的磁盘同步指令刷新binlog_cache中的信息到磁盘,而让Filesystem自行决定什么时候来做同步,或者

ubuntu-lsyncd实现远端实时同步配置

例子:双nginx实现自动同步配置 nginxA:10.5.8.19nginxB:10.5.8.20 1,实现8.19免密登陆8.20 19操作 #ssh-keygen -t rsa #ssh-copy-id [email protected] 2,安装lsyncd apt-get install lsyncd 3,定义配置文件 # cat /etc/lsyncd/lrsync_nginx.lua settings { logfile = "/var/log/lsyncd/lsyncd.log&

企业级应用,持久层架构方案二(双主同步高可用二)

这是企业级应用,持久层架构方案的第二篇.在上一篇:企业级应用,持久层架构方案一(双主同步高可用)中.已经准备好了两台mysql数据库节点:hadoop001.hadoop002.两个节点互为主备,实现舒双主同步高可用,如何叫做双主同步高可用呢?其实要分为两个问题:一个是双主同步,互为主备:另一个是高可用.那么在上一篇中已经实现了双主互为主备,本篇通过keepalived虚拟ip实现高可用: 1.安装keepalived 1.1.hadoop001节点 #安装keepalived yum inst

mysql5.7主从同步配置

1. 准备工作 先安装.配置好两台MySQL服务器 主服务器IP:192.168.1.1 从服务器IP:192.168.1.2 mysql的安装请参考之前的文章. 2. 配置主(master)vi /etc/my.cnf修改或添加下面这几行:server-id=1 log-bin=mysql-bin # 启用二进制日志 两个可选参数(2选1):binlog-do-db=db1,db2 #需要同步的库binlog-ignore-db=db1,db2 #忽略不同步的库 保存后重启 /etc/init

mysql5.7.17主从同步配置

一.mysql同步原理 1.mysql主库在事务提交时将数据变更作为时间记录到二进制日志(binary log)中: 2.slave IO线程将master的binary log events读写到它的中继(Relay log): 3.slave SQL进程读取Relay log,将重做记录数据到数据库中. 二.主从同步配置 2,1.配置环境 masterIP:192.168.152.128 mysql version:5.7.17 本地多实例配置  端口为3307.3308. 前期已配置多实例