阿里数据同步工具Otter和Canal简介

0    3594    16

Tags:

👉 本文共约27881个字,系统预计阅读时间或需105分钟。

通道配置说明

多种同步方式配置

a. 单向同步

单向同步为最基本的同步方式,目前支持mysql -> mysql/oracle的同步.

基本配置方式就如操作视频中所演示的,操作步骤:

  1. 配置一个channel
  2. 配置一个pipeline
    对应node机器选择时,建议遵循:S/E节点选择node需尽可能离源数据库近,T/L节点选择node则离目标数据库近. 如果无法提供双节点,则选择离目标数据库近的node节点相对合适.
  3. 配置一个canal
  4. 定义映射关系.
    canal中配置解析的数据库ip需要和映射关系中源表对应的数据库ip一致. ps. 映射关系进行匹配的时候是基于表名,虽然数据库ip不匹配也会是有效.

b. 双向同步

双向同步可以理解为两个单向同步的组合,但需要额外处理避免回环同步. 回环同步算法: Otter双向回环控制 .

同时,因为双向回环控制算法会依赖一些系统表,需要在需要做双向同步的数据库上初始化所需的系统表.

获取初始sql:

配置上相比于单向同步有一些不同,操作步骤:

  1. 配置一个channel
  2. 配置两个pipeline
    注意:两个单向的canal和映射配置,在一个channel下配置为两个pipeline。如果是两个channel,每个channel一个pipeline,将不会使用双向回环控制算法,也就是会有重复回环同步.
  3. 每个pipeline各自配置canal,定义映射关系

c. 双A同步

双A同步相比于双向同步,主要区别是双A机房会在两地修改同一条记录,而双向同步只是两地的数据做互相同步,两地修改的数据内容无交集.

所以双A同步需要额外处理数据同步一致性问题. 同步一致性算法:Otter数据一致性 ,目前开源版本主要是提供了单向回环补救的一致性方案.

双A同步相比于双向同步,整个配置主要是一些参数上有变化,具体步骤:

  1. 配置一个channel
    img

  2. 配置两个pipeline
    img

    注意:除了需要定义一个主站点外,需要在高级设置中将一个pipeline的“支持DDL”设置为false,另一个设置为true,否则将提示“一个channel中只允许开启单向ddl同步!”错误

  3. 每个pipeline各自配置canal,定义映射关系

    本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信dbaup66,谢谢!
    AiDBA后续精彩内容已被站长无情隐藏,请输入验证码解锁本文!
    验证码:
    获取验证码: 请先关注本站微信公众号,然后回复“验证码”,获取验证码。在微信里搜索“AiDBA”或者“dbaup6”或者微信扫描右侧二维码都可以关注本站微信公众号。

标签:

Avatar photo

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复