otter 数据同步项目 at master · alibaba/otter · GitHub

标签: | 发表时间:2020-06-21 19:08 | 作者:
出处:https://github.com

环境搭建 & 打包

环境搭建:
  1. 进入$otter_home目录
  2. 执行:mvn clean install
  3. 导入maven项目。如果eclipse下报"Missing artifact com.oracle:ojdbc14:jar:10.2.0.3.0",修改$otter_home/pom.xml中"${user.dir}/lib/ojdbc14-10.2.0.3.0.jar"为绝对路径,比如"d:/lib/ojdbc14-10.2.0.3.0.jar"
打包:
  1. 进入$otter_home目录
  2. 执行:mvn clean install -Dmaven.test.skip -Denv=release
  3. 发布包位置:$otter_home/target

项目背景

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

   otter第一版本可追溯到04~05年,此次外部开源的版本为第4版,开发时间从2011年7月份一直持续到现在,目前阿里巴巴B2B内部的本地/异地机房的同步需求基本全上了otte4。

目前同步规模:
  1. 同步数据量6亿
  2. 文件同步1.5TB(2000w张图片)
  3. 涉及200+个数据库实例之间的同步
  4. 80+台机器的集群规模

项目介绍

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

译意: 水獭,数据搬运工

语言: 纯java开发

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

工作原理

原理描述:

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

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

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

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

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

什么是canal?

otter之前开源的一个子项目,开源链接地址: http://github.com/alibaba/canal

Introduction

See the page for introduction: Introduction.

QuickStart

See the page for quick start: QuickStart.

AdminGuide

See the page for admin deploy guide : AdminGuide

相关文档

See the page for 文档: 相关PPT&PDF

常见问题

See the page for FAQ: FAQ

版本相关:

1. 建议版本:4.2.15 (otter开源版本从内部演变而来,所以初始版本直接从4.x开始)

2. 下载发布包: download

3. maven依赖 : 暂无

相关开源

  1. 阿里巴巴mysql数据库binlog的增量订阅&消费组件: http://github.com/alibaba/canal
  2. 阿里巴巴去Oracle数据迁移同步工具(目标支持MySQL/DRDS): http://github.com/alibaba/yugong

问题反馈

注意:canal&otter QQ讨论群已经建立,群号:161559791 ,欢迎加入进行技术讨论。

1.qq交流群: 161559791

2.邮件交流: [email protected]

3.新浪微博: agapple0002

4.报告issue: issues

相关 [otter 数据 同步] 推荐:

otter 数据同步项目 at master · alibaba/otter · GitHub

- -
进入$otter_home目录. 执行:mvn clean install. 如果eclipse下报"Missing artifact com.oracle:ojdbc14:jar:10.2.0.3.0",修改$otter_home/pom.xml中"${user.dir}/lib/ojdbc14-10.2.0.3.0.jar"为绝对路径,比如"d:/lib/ojdbc14-10.2.0.3.0.jar".

阿里巴巴开源项目:分布式数据库同步系统otter(解决中美异地机房)

- - agapple
   阿里巴巴B2B公司,因为业务的特性,卖家主要集中在国内,买家主要集中在国外,所以衍生出了杭州和美国异地机房的需求,同时为了提升用户体验,整个机房的架构为双A,两边均可写,由此诞生了otter这样一个产品.    otter第一版本可追溯到04~05年,此次外部开源的版本为第4版,开发时间从2011年7月份一直持续到现在,目前阿里巴巴B2B内部的本地/异地机房的同步需求基本全上了otte4.

同步mysql数据到hive

- - ITeye博客
地址为:http://archive.cloudera.com/cdh/3/下载相应版本,如sqoop-1.2.0-CDH3B4.tar.gz. 地址为:http://archive.cloudera.com/cdh/3/,版本可以为hadoop-0.20.2-CDH3B4.tar.gz. 3.解压 sqoop-1.2.0-CDH3B4.tar.gz ,hadoop-0.20.2-CDH3B4.tar.gz 到某目录如/home/hadoop/,解压后的目录为.

高速数据同步服务器——Doozer

- Tim - Some reminiscences, some memories
昨天在讨论平台新架构的时候,还在说要搞个配置管理的服务出来,方便接口的管理. 然后今天就看到了这个……人品爆发了吗. 好吧,不扯淡,直接翻译 Doozer 的 README 吧. Doozer 我还没实测,不过感觉,如果真得像 README 上面说得那样,还是很有用,很有用的. 关键——这个玩意提供了 go 的接口.

MySQL数据库设置主从同步

- - CSDN博客架构设计推荐文章
MYSQL主从同步是目前使用比较广泛的数据库架构,技术比较成熟,配置也不复杂,特别是对于负载比较大的网站,主从同步能够有效缓解数据库读写的压力. 1、可以作为一种备份机制,相当于热备份. 2、可以用来做读写分离,均衡数据库负载. 1、主从数据库版本一致,建议版本5.5以上. # 日志文件名 log-bin = mysql-bin # 日志格式,建议mixed binlog_format = mixed # 主数据库端ID号 server-id = 1.

oracle数据库同步技术

- - 数据库 - ITeye博客
项目上有一个需求,从外网的另一个库中的数据同步到其他网段中. 基于Oracle数据库的数据同步技术大体上可分为两类:Oracle自己提供的数据同步技术和第三方厂商提供的数据同步技术. Oracle自己的同步技术有DataGuard,Streams,Advanced Replication和今年刚收购的一款叫做GoldenGate的数据同步软件.

Oracle零碎笔记之数据同步

- - Oracle - 数据库 - ITeye博客
需求:实现Oracle数据库表记录变更后的准实时同步. 1、基于时间戳来检测变更.   a、需同步的表均需要添加时间戳字段,并在更改数据后,同步更新时间戳.   b、对于删除操作,需要额外处理. 或通过触发器记录,或者不真实删除记录,仅仅设置删除标记.   c、业务层编码实现同步.   对系统增加了额外约束.

通过HBase Observer同步数据到ElasticSearch

- - SegmentFault 最新的文章
Observer希望解决的问题. HBase是一个分布式的存储体系,数据按照RowKey分成不同的Region,再分配给RegionServer管理. 但是RegionServer只承担了存储的功能,如果Region能拥有一部分的计算能力,从而实现一个HBase框架上的MapReduce,那HBase的操作性能将进一步提升.

DataX:实现不同数据库数据同步

- - 标点符
目前成熟的数据导入导出工具比较多,但是一般都只能用于数据导入或者导出,并且只能支持一个或者几个特定类型的数据库. 这样带来的一个问题是,如果拥有很多不同类型的数据库/文件系统(Mysql/Oracle/Rac/Hive/Other…),并且经常需要在它们之间导入导出数据,那么我们可能需要开发/维护/学习使用一批这样的工具(jdbcdump/dbloader/multithread/getmerge+sqlloader/mysqldumper…).

美团DB数据同步到数据仓库的架构与实践

- - 美团点评技术团队
在数据仓库建模中,未经任何加工处理的原始业务层数据,我们称之为ODS(Operational Data Store)数据. 在互联网企业中,常见的ODS数据有业务日志数据(Log)和业务DB数据(DB)两类. 对于业务DB数据来说,从MySQL等关系型数据库的业务数据进行采集,然后导入到Hive中,是进行数据仓库生产的重要环节.