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的很多查看功能会报错

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

  1. otter双主同步安装与配置

    otter是阿里的开源数据同步项目,资源地址就不用说了哈,网上找,阿里云论坛关于单方向同步的配置已经很清楚了,理论上说,双主同步也不复杂,但是毕竟 是数据库,比较重要,配置双主的时候,总觉得心里没底, ...

  2. Otter双A同步搭建入门教程

    1.准备阶段 1.1 环境 虚拟机A :192.168.0.130 虚拟机B :192.168.0.131 系统:Ubuntu 16.04 LTS JRE:OpenJDK 1.8.0_151(A.B都 ...

  3. Docker Mysql数据库双主同步配置方法

    一.背景 可先查看第一篇<Docker Mysql数据库主从同步配置方法>介绍 二.具体操作 1.创建目录(~/test/mysql_test1): --mysql --mone --da ...

  4. MySQL 异地 双机房同步之otter

    一.背景: 阿里巴巴B2B公司,因为业务的特性,卖家主要集中在国内,买家主要集中在国外,所以衍生出了杭州和美国异地机房的需求, 同时为了提升用户体验,整个机房的架构为双A,两边均可写,由此诞生了ott ...

  5. MySQL热机双备之双主同步复制配置

    此配置方案来源于csdn前辈博客,奈何找不到出处了,抱拳!!! 1.  MySQL同步机制概述 MySQL支持单向.异步复制,复制过程中一台服务器充当主服务器,一台或多台服务器充当从服务器,双主同步要 ...

  6. MySQL 主主同步配置和主从配置步骤

    ★预备知识 : 1.双机热备 对于双机热备这一概念,我搜索了很多资料,最后,还是按照大多数资料所讲分成广义与狭义两种意义来说. 从广义上讲,就是对于重要的服务,使用两台服务器,互相备份,共同执行同一服 ...

  7. Docker Mysql主从同步配置搭建

    Docker Mysql主从同步配置搭建 建立目录 在虚拟机中建立目录,例如路径/home/mysql/master/data,目录结构如下: Linux中 新建文件夹命令:mkdir 文件夹名 返回 ...

  8. ssdb主从及双主模型配置和简单管理

    ssdb主从及双主模型配置和简单管理 levelDB是一个key->value 的数据存储库,其只能在本地保存数据,支持持久化,并且支持保存非常大的数据,单机redis在保存较大数据的时候数十G ...

  9. MySQL 5.7双主同步部分表

    参考:http://www.jb51.net/article/122892.htm?pc 前言: 我们要配置双主同步的mysql服务器. 暂时叫做,mysql1和mysql2吧. 一  mysql的配 ...

随机推荐

  1. 数据结构--KMP算法总结

    数据结构—KMP KMP算法用于解决两个字符串匹配的问题,但更多的时候用到的是next数组的含义,用到next数组的时候,大多是题目跟前后缀有关的 . 首先介绍KMP算法:(假定next数组已经学会, ...

  2. 利用 pandas 进行数据的预处理——离散数据哑编码、连续数据标准化

    数据的标准化 数据标准化就是将不同取值范围的数据,在保留各自数据相对大小顺序不变的情况下,整体映射到一个固定的区间中.根据具体的实现方法不同,有的时候会映射到 [ 0 ,1 ],有时映射到 0 附近的 ...

  3. Grunt打包之seajs项目【转】

    原文:http://www.cnblogs.com/accordion/p/4508154.html grunt与seajs grunt是前端流行的自定义任务的脚手架工具,我们可以使用grunt来为我 ...

  4. css媒体查询:响应式网站

    css媒体查询:响应式网站 媒体查询 包含了一个媒体类型和至少一个使用如宽度.高度和颜色等媒体属性来限制样式表范围的表达式.CSS3加入的媒体查询使得无需修改内容便可以使样式应用于某些特定的设备范围. ...

  5. 关于viewports 设备像素比 密度

    首先追溯到像素,第一个麻烦事像素的总量问题,同样的大小的屏幕像素可以差很远,像素大小更小的导致内容也变小   在小屏幕上如果展示巨大的桌面网页,诺基亚的做法是首先载入完整的桌面网页,然后缩放至设备屏幕 ...

  6. sass学习--在htm文件中使用

    一.导语 最近的战狼2好火爆啊,每天看战狼2的票房一路高飙,我估计比吴京还开心.看了这部戏的拍摄过程,除了敬佩就是踏实,是的,吴京是电影圈隔了这么久后能踏踏实实做电影的了,纯属个人见解,不喜请忽略.. ...

  7. Ubuntu开启ApacheRewrite功能

    参考原文   :  http://www.knowsky.com/888354.html 1.安装好apache2之后,手动命令启用 执行加载Rewrite模块: a2enmod rewrite 执行 ...

  8. Cocoapods使用过程中遇到的问题

    前言:记录一些在CocoaPods使用过程中遇到的问题,本地环境:Xcode9.0 发现有的时候在执行pod init的时候不能正常地创建出来pod File文件,显示的错误如下: ――― MARKD ...

  9. javaMybatis映射属性,高级映射

    映射文件的sql属性: id:标识符(一般都是dao层方法名) resultType:sql返回类型 resultMap:放回的映射类型 parameterType:参数类型 useGenerated ...

  10. MUI开发记录——我的考勤

    已经好久没有更新技术博客了,因为最近一直在做跨平台web app应用的开发,由于是刚做这个,也没太多经验同大家分享,可我是一个闲不住的人,我还是决定于百忙之中抽空整理一篇,记录下开发历程......— ...