精华内容
下载资源
问答
  • otter

    千次阅读 2019-01-14 10:44:34
    otter https://github.com/alibaba/otter 同样是阿里巴巴开源的数据同步工具 定位: 基于数据库增量日志解析,准实时同步到本机房或异地机房的mysql/oracle数据库. 一个分布式数据库同步系统 注意:基于cannal 原理 ...

    otter

    https://github.com/alibaba/otter
    同样是阿里巴巴开源的数据同步工具
    定位: 基于数据库增量日志解析,准实时同步到本机房或异地机房的mysql/oracle数据库. 一个分布式数据库同步系统

    注意:基于cannal

    原理

    1. 基于Canal开源产品,获取数据库增量日志数据。 什么是Canal, 请点击

    2. 典型管理系统架构,manager(web管理)+node(工作节点)

      a. manager运行时推送同步配置到node节点

      b. node节点将同步状态反馈到manager上

    3. 基于zookeeper,解决分布式状态调度的,允许多node节点之间协同工作.

    说白了 cannal拿到binlog日志以后,处理完以后, 就交给这货,这货有管理配置页面。还做了一些关于可靠性和速度的考虑。

    使用

    (注意如果使用docker安装的机子上有mysql,会启动不了)
    参考issue https://github.com/alibaba/otter/issues/695
    因此在下面提供手动安装的方式
    拉docker镜像
    docker pull canal/otter-all
    创建otter目录
    cd /usr/local
    mkdir otter
    进入otter目录,运行otter镜像
    curl -fsSL https://raw.githubusercontent.com/alibaba/otter/master/docker/run.sh | bash

    手动安装

    ####manager安装
    https://github.com/alibaba/otter/wiki/Manager_Quickstart

    1. java环境 mysql等 初始化otter需要的表等 自行安装

    2. 使用docker启动zookeeper(otter依赖于zookeeper做集群管理)
      docker run --name otter-zookeeper -p 2181:2181 --restart always -d zookeeper

    3.下载otter manager https://github.com/alibaba/otter/releases 解压缩 修改配置 然后启动 等参考官方手册md文档

    node安装

    https://github.com/alibaba/otter/wiki/Node_Quickstart
    官方文档已经可以满足需求了

    展开全文
  • Otter

    2019-01-14 09:05:12
    https://blog.csdn.net/wudufeng/article/details/78688240
    展开全文
  • otter基于docker安装

    万次阅读 2020-07-22 13:17:08
    名称:otter ['ɒtə(r)] 译意: 水獭,数据搬运工 语言: 纯java开发 定位: 基于数据库增量日志解析,准实时同步到本机房或异地机房的mysql/oracle数据库. 一个分布式数据库同步系统 工作原理 原理描述:...

    项目介绍

    名称:otter ['ɒtə(r)]

    译意: 水獭,数据搬运工

    语言: 纯java开发

    定位: 基于数据库增量日志解析,准实时同步到本机房或异地机房的mysql/oracle数据库. 一个分布式数据库同步系统

    工作原理

     

    原理描述:

    1. 基于Canal开源产品,获取数据库增量日志数据。 什么是Canal, 请点击

    2. 典型管理系统架构,manager(web管理)+node(工作节点)

        a. manager运行时推送同步配置到node节点

        b. node节点将同步状态反馈到manager上

    3. 基于zookeeper,解决分布式状态调度的,允许多node节点之间协同工作.

    安装

    mysql

    docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=数据库密码 -d mysql:5.7.19 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci;
    

    新建otter数据库 

    otter-manager-schema.sql

    ZK

    docker run -d -p 2181:2181 --name=zookeeper --privileged zookeeper

    otter-manager

    docker run --name otter-manager -d -p 8080:8080 -p 1099:1099 -e IP=当前服务器IP -e ZK_IP=ZK地址 -e DB_IP=数据库IP:3306 -e DB_USER=数据库账号 -e DB_PASSWD=数据库密码 aeert/otter-manager:4.2.18

     访问 http://当前服务器IP:8080    账号密码:admin/admin

    NODE

    1. otter node会受otter manager进行管理,所以需要预先安装otter manager,参见:Otter Manager Quickstart.

    2. 完成manager安装后,需要在manager页面为node定义配置信息,并生一个唯一id.

        a. 首先访问manager页面的机器管理页面,点击添加机器按钮


    几点说明:

    • 机器名称:可以随意定义,方便自己记忆即可
    • 机器ip:对应node节点将要部署的机器ip,如果有多ip时,可选择其中一个ip进行暴露. (此ip是整个集群通讯的入口,实际情况千万别使用127.0.0.1,否则多个机器的node节点会无法识别)
    • 机器端口:对应node节点将要部署时启动的数据通讯端口,建议值:2088
    • 下载端口:对应node节点将要部署时启动的数据下载端口,建议值:9090
    • 外部ip :对应node节点将要部署的机器ip,存在的一个外部ip,允许通讯的时候走公网处理。
    • zookeeper集群:为提升通讯效率,不同机房的机器可选择就近的zookeeper集群.

    node这种设计,是为解决单机部署多实例而设计的,允许单机多node指定不同的端口

     

        b. 机器添加完成后,跳转到机器列表页面,获取对应的机器序号nid

     

    通过这两部操作,获取到了node节点对应的唯一标示,称之为node id,简称:nid. 记录该nid,后续启动nid时会使用

     

    3. node节点进行跨机房传输时,会使用到HTTP多线程传输技术,目前主要依赖了aria2c做为其下载客户端,后续会推出java版本.

        a. aria2 官方首页: http://aria2.sourceforge.net/

        b. 下载页面: http://sourceforge.net/projects/aria2/files/stable/

    当前测试过多个HTTP多线程下载客户端,比如wget,curl,axel,oget,proz,aria2c,测试结果aria2c下载效率最快,基本可以压满网卡.

    注意:下载完成或者编译完成后,将对应的aria2c包加入到PATH路径即可.

    安装

    获取到node的ID后执行

    docker run --name otter-node -d -p 2088:2088 -p 2090:2090 -p 9090:9090 -e id=node的ID -e address=当前服务器IP aeert/otter-node:4.2.18

     测试

    新建数据库01、02,注意数据库已开启binlog,并且binlog_format为ROW

    搭建一个数据库同步任务,源数据库ip为:10.20.144.25,目标数据库ip为:10.20.144.29. 源数据库已开启binlog,并且binlog_format为ROW.

    mysql> show variables like '%binlog_format%';
    +---------------+-------+
    | Variable_name | Value |
    +---------------+-------+
    | binlog_format | ROW   |
    +---------------+-------+

       2. 数据同步精确到一张表进行测试,测试的表名为test.example,简单包含两个子段,测试过程中才创建.

       3. 配置完成后,手动在源库插入数据,然后快速在目标库进行查看数据,验证数据是否同步成功.

    -------

    视频中的演示文本:

    CREATE TABLE  `test`.`example` (
      `id` int(11)  NOT NULL AUTO_INCREMENT,
      `name` varchar(32) COLLATE utf8_bin DEFAULT NULL ,
       PRIMARY KEY (`ID`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    
    insert into test.example(id,name) values(null,'hello');
    
    -----
    Otter QuickStart 如何配置一个任务
    -----
    操作步骤:
    1.  添加数据库
        a.  源库 jdbc:mysql://10.20.144.25:3306
        b.  目标库 jdbc:mysql://10.20.144.29:3306
    2.  添加canal
        a.  提供数据库ip信息 
    3.  添加同步表信息
        a.  源数据表 test.example
        b.  目标数据表 test.example
    4.  添加channel
    5.  添加pipeline
        a.  选择node节点
        b.  选择canal
    6.  添加同步映射规则
        a.  定义源表和目标表的同步关系
    7.  启动
    8.  测试数据 
    

    参考官网文档:alibaba/otter

    QQ交流群号:132381997

    展开全文
  • otter 基于数据库增量日志解析,准实时同步到本机房或异地机房的mysql/oracle数据库. 一个分布式数据库同步系统。 深入理解otter (偏向技术层面).pdf otter使用介绍 (偏向使用层面) .pdf
  • Otter小试

    2019-08-24 23:59:46
    这是学习笔记的第2080篇文章 之前因为机房多活的需要关注了Otter,搭建这个环境算是费劲了心思,在之前准备的过程中发现GitHub上面的说明文档和实际的操作还有...
        

    这是学习笔记的第 2080 篇文章


      之前因为机房多活的需要关注了Otter,搭建这个环境算是费劲了心思,在之前准备的过程中发现GitHub上面的说明文档和实际的操作还有一些差距,有些过程也是一再中断,我不由得发出感慨,能够快速高效的尝试开源项目也是一种技术幸福感所在。

      Otter英文名是水獭,在跨机房的数据同步中使用比较广泛,它是一个web的管理服务,核心是Manger模块。当启动一个Manger服务时,可以访问它的管理界面来实现Channel、Pipleline 、数据源、数据表、zookeeper集群、主备配置。Otter就是做Canal拿到binlog日志之后做消费处理,对目标数据库进行增量日志消费,实现数据搬运工作。

     听起来有点晕,其实我的需求是能够实现跨机房的数据复制(单向,双向),但是一下子带进来一堆概念,让初学的人有些不知所措。

       我来做一些通俗的解释,首先这个项目是另外一个项目的衍生版本,那个项目就是canal,canal可以理解为一个虚拟的MySQL Slave,它可以向Master发送dump请求,然后dump根据需要推送相应的binlog,Otter算是把canal融入了一个完整的技术体系,在这里面canal可以理解为Otter体系中的一个组件。

      而跨机房的数据复制(尤其是双向复制),除了数据延迟,对于数据一致性方面的解决方案就需要严谨的多,在这里Otter有一套检验机制,而在这个过程中为了改进效率和设计的完整度,也是通过引入一些其他的组件或者概念,比如Channel,Pipeline等。

      Otter项目的架构如下:

    640?wx_fmt=png

    看这个架构图就知道里面的东西不少。如果想几个小时把它搞定还是有些难度的,所以我们会分成几篇来说。

      首先是对于环境的规划,和架构设计是紧密相关的,我们需要一台独立的管理节点,管理节点可以管理多套MySQL环境,每套环境上面有独立的Otter Node节点,同时配置了Zookeeper,会由Otter统一管理。

    640?wx_fmt=png

    对于服务器侧,可以根据需要来进行测试,比如我们选择两台服务也是可以的,可以把Manage和Node共同部署在一台机器上面,对于服务器的IP很可能有公网IP和内网IP,可以根据需求情况进行配置。 

    Otter比较有意思的是他提供了一套WEB管理页面,在部署Manage之后就可以进入WEB页面进行配置管理了。

    640?wx_fmt=png

    整个Otter的配置基本都是页面化配置。

    640?wx_fmt=png

    当然开始接触的时候还是有些不适应,而且本身这个WEB页面不可定制,本身也没有太多的改进空间了。

    首先是添加机器管理配置,添加了相应的Zookeeper集群,包括源端,目标端。

    640?wx_fmt=png

    640?wx_fmt=png然后添加Node节点,整个这样的步骤有差不多10个页面。

    640?wx_fmt=png

    640?wx_fmt=png

    未完待续

    640?

    展开全文
  • otter-manager作为otter同步的管理台,可以对zookeeper,otter-node进行管理 1.下载安装包,下载链接(需要积分或金币下载): https://download.csdn.net/download/u014642915/11389132 2.下载otter-manager库...
  • Otter配置教程,otter从入门配置到高级配置,适合入门学习以及配置参考
  • 阿里巴巴B2B公司,因为业务的特性,卖家主要集中在国内,买家主要集中在国外,所以衍生出了杭州和美国异地机房的需求,同时为了提升用户体验,整个机房的架构为双A,两边均可写,由此诞生了otter这样一个产品。...
  • otter搭建

    2019-06-04 16:43:48
    初始化otter http://域名/system_reduction.htm 问题1: 使用mysql 5.7版本,下载otter-manager-schema.sql文件,导入出错 ERROR 1067 (42000) at line 5: Invalid default value for 'GMT_CREATE' 解决方法: 修改....
  • Otter详解

    千次阅读 2018-11-25 14:46:04
    otter girthub链接: https://github.com/alibaba/otter 整体架构 子模块解释 zooKeeper 分布式一致性协调服务,主要用来调度配置好的node模块。 manager 管理中心,用来配置同步信息,接收node模块发来的状态...
  • otter4使用介绍

    2018-11-30 09:40:22
    阿里开源工具otter使用介绍,非常详细,详细介绍otter的使用配置等
  • 深入理解otter,利用OTTER实现准实时ETL、数据同步 1. 中美同步需求 2. otter架构&设计 如何解决"差"网络 如何避免双向回环 如何处理数据一致性 如何高效同步数据 如何高效同步文件 如何支持系统HA 如何处理特殊...
  • Added otter-browser

    2020-12-09 13:33:04
    - [ ] <a href="#crh-comment-Pull%2070c16f24c55da8d00e504c66f13b3f62d8eefc1b%20otter-browser/snapcraft.yaml%2026"></a>  ..." /></a> Can you change this to <code>desktop-qt5</code> instead?...
  • otter使用

    2018-10-22 18:23:00
    参考网址:https://github.com/alibaba/otter/wiki/QuickStart 参考网址: ... 1.zookeeper启动 参见Zookpeer集群节点 2. 创建otter manager的表数据 ...
  • otter实现数据同步,otter manger的安装

    千次阅读 2019-07-11 11:00:48
    otter node依赖于zookeeper进行分布式调度,需要安装一个zookeeper节点或者集群.zookeeper的安装可以参考我之前写的另外一篇博客docker-compose 部署zk和kafka otter环境搭建步骤:docker安装参考官网,不过我尝试...
  • alibaba-otter

    2016-09-30 20:31:37
    阿里巴巴B2B公司,因为业务的特性,卖家主要集中在国内,买家主要集中在国外,所以衍生出了杭州和美国异地机房的需求,同时为了提升用户体验,整个机房的架构为双A,两边均可写,由此诞生了otter这样一个产品。...
  • 压缩包里面有:aria2-1.17.1.tar.gz,jdk-7u79-linux-x64.tar.gz,manager.deployer-4.2.13.tar.gz,node.deployer-4.2.13.tar.gz,zookeeper-3.4.5-cdh4.3.0.tar.gz,深入理解otter.pptx,otter4使用介绍.pptx
  • otter-4.2.13

    2017-10-26 15:13:34
    包括manager.deployer-4.2.13、node.deployer-4.2.13和otter-manager-schema.sql(数据库文件),配置参考...
  • Otter简介

    2017-03-01 18:02:42
    Otter它是一个数据同步解决方案,可以解决本地跨网络跨机房跨地域的数据同步问题,并且拥有可观的效率,web管理工具等特点,而且背景也很优秀,据说阿里B2B内部的本地/异地机房的同步需求基本全上了 otterOtter项目...
  • otter部署

    2017-11-17 18:02:52
    otter部署 环境 IP:10.10.6.171 部署:mysql源库 IP:10.10.6.172 部署:mysql目标库 IP:10.10.6.173 部署:zookeeper,manager,node,canal (也都部署到源库服务器上) 由于otter进行数据库同步,目前仅...
  • otter学习 | otter 基本介绍

    千次阅读 2018-03-25 15:21:58
    名称:otter [‘ɒtə(r)] 译意: 水獭,数据搬运工 语言: 纯java开发 定位: 基于数据库增量日志解析,准实时同步到本机房或异地机房的mysql/oracle数据库。 二、工作原理 原理描述: 基于Canal开源...
  • otter快速开始

    千次阅读 2019-06-27 17:17:30
    Otter otter是一款基于Java且免费、开源基于数据库增量日志解析,准实时同步到本机房或异地机房的mysql/oracle数据库的解决方案。 官方描述: 阿里巴巴B2B公司,因为业务的特性,卖家主要集中在国内,买家主要...
  • otter学习 | otter_node 安装配置

    千次阅读 2018-03-25 15:17:54
    1、otter node会受otter manager进行管理,所以需要预先安装otter manager。 参见:otter_manager 安装配置(快速开始) 2、完成manager安装后,需要在manager页面为node定义配置信息,并生一个唯一id a. 如果...
  • otter全量同步

    千次阅读 2019-09-01 10:41:00
    步骤一:在otter配置otter同步的库/表。 配置好channel—>pipeline—>映射关系列表,canal 步骤二:执行以下sql /* 供 otter 使用, otter 需要对 retl.* 的读写权限,以及对业务表的读写权限 1. ...
  • otter安装

    千次阅读 2016-12-08 16:30:49
    译意: 水獭,数据搬运工 语言: 纯java开发 定位: 基于数据库增量日志解析,准实时同步到本机房或异地机房的...otter安装需要三台机器,我实现的是两台机器之间的Mysql数据库同步,即双写同步,zookeeper集群。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,422
精华内容 568
关键字:

otter