Otter数据同步简介

Otter是阿里巴巴开源的增量数据同步工具,因为项目用到了,简单记录一下

简介

定位:基于数据库增量日志解析,准实时同步到本机房或异地机房的mysql/oracle数据库. 一个分布式数据库同步系统
项目地址:‘https://github.com/alibaba/otter’

工作原理

  • 通过‘Canal’做数据库增量订阅,获取增量数据
  • Web管理系统manager进行同步配置,推送到node节点
  • node节点将同步状态反馈到manager上
  • 基于zookeeper,解决分布式状态调度的,允许多node节点之间协同工作

所以在建立数据同步时,需要满足的条件是:

  • 搭建manager管理平台
  • 数据源需要配置canal,如果是双向同步,两边都需要配置canal
  • 位于同一个zookeeper集群
  • 至少一个node节点

环境安装

  1. Docker安装模式
    详见官方文档‘Docker_QuickStart’
  2. 手工安装模式
    详见官方文档‘Manager_Quickstart’ ‘Node_Quickstart’

配置流程

通过manager平台来创建数据同步服务,流程如下

  1. 创建zookeeper
  2. 创建node
  3. 添加数据库配置
  4. 添加数据同步表配置
  5. 创建canal
    canal对应一个数据源,每一个数据同步任务都需要至少一个canal,不能重复使用
  6. 创建channel
  7. 创建pipeline
    channel下具体的数据同步任务,需要选择node和canal
  8. 设置pipeline的数据同步映射规则
    定义源数据表和目标数据表的同步关系
  9. 启动channel
文章目录
  1. 1. 简介
  2. 2. 工作原理
  3. 3. 环境安装
  4. 4. 配置流程
|