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

0    3594    16

Tags:

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

具体参数详解

channel参数

  1. 同步一致性. ==> 基于数据库反查(根据binlog反查数据库),基于当前变更(binlog数据)。针对数据库反查,在延迟比较大时比较有效,可将最新的版本快速同步到目标,但会对源库有压力.
  2. 同步模式. ==> 行模式,列模式。行模式特点:如果目标库不存在记录时,执行插入。列模式主要是变更哪个字段,只会单独修改该字段,在双A同步时,为减少数据冲突,建议选择列模式。
  3. 是否开启数据一致性. ==> 请查看数据一致性文档:Otter数据一致性
    a. 数据一致性算法
    b. 一致性反查数据库延迟阀值

pipeline参数

  1. 并行度. ==> 查看文档:Otter调度模型,主要是并行化调度参数.(滑动窗口大小)
  2. 数据反查线程数. ==> 如果选择了同步一致性为反查数据库,在反查数据库时的并发线程数大小
  3. 数据载入线程数. ==> 在目标库执行并行载入算法时并发线程数大小
  4. 文件载入线程数. ==> 数据带文件同步时处理的并发线程数大小
  5. 主站点. ==> 双A同步中的主站点设置 
  6. 消费批次大小. ==> 获取canal数据的batchSize参数
  7. 获取批次超时时间. ==> 获取canal数据的timeout参数

pipeline 高级设置

  • 使用batch. ==> 是否使用jdbc batch提升效率,部分分布式数据库系统不一定支持batch协议
  • 跳过load异常. ==> 比如同步时出现目标库主键冲突,开启该参数后,可跳过数据库执行异常
  • 仲裁器调度模式. ==> 查看文档:Otter调度模型
  • 负载均衡算法. ==> 查看文档:Otter调度模型
  • 传输模式. ==> 多个node节点之间的传输方式,RPC或HTTP. HTTP主要就是使用aria2c,如果测试环境不装aria2c,可强制选择为RPC
  • 记录selector日志. ==> 是否记录简单的canal抓取binlog的情况
  • 记录selector详细日志. ==> 是否记录canal抓取binlog的数据详细内容
  • 记录load日志. ==> 是否记录otter同步数据详细内容
  • dryRun模式. ==> 只记录load日志,不执行真实同步到数据库的操作
  • 支持ddl同步. ==> 是否同步ddl语句
  • 是否跳过ddl异常. ==> 同步ddl出错时,是否自动跳过
  • 文件重复同步对比 ==> 数据带文件同步时,是否需要对比源和目标库的文件信息,如果文件无变化,则不同步,减少网络传输量.
  • 文件传输加密 ==> 基于HTTP协议传输时,对应文件数据是否需要做加密处理
  • 启用公网同步 ==> 每个node节点都会定义一个外部ip信息,如果启用公网同步,同步时数据传递会依赖外部ip.
  • 跳过自 由 门数据 ==> 自定义数据同步的内容
  • 跳过反查无记录数据 ==> 反查记录不存在时,是否需要进行忽略处理,不建议开启.
  • 启用数据表类型转化 ==> 源库和目标库的字段类型不匹配时,开启改功能,可自动进行字段类型转化
  • 兼容字段新增同步 ==> 同步过程中,源库新增了一个字段(必须无默认值),而目标库还未增加,是否需要兼容处理
  • 自定义同步标记 ==> 级联同步中屏蔽同步的功能.

Canal参数

  1. 数据源信息
    单库配置: 10.20.144.34:3306;
    多库合并配置: 10.20.144.34:3306,10.20.144.35:3306; (逗号分隔)
    主备库配置:10.20.144.34:3306;10.20.144.34:3307; (分号分隔)
  2. 数据库帐号
  3. 数据库密码
  4. connectionCharset ==> 获取binlog时指定的编码
  5. 位点自定义设置 ==> 格式:{"journalName":"","position":0,"timestamp":0};
    指定位置:{"journalName":"","position":0};
    指定时间:{"timestamp":0};
  6. 内存存储batch获取模式 ==> MEMSIZE/ITEMSIZE,前者为内存控制,后者为数量控制.  针对MEMSIZE模式的内存大小计算 = 记录数 * 记录单元大小
  7. 内存存储buffer记录数
  8. 内存存储buffer记录单元大小
  9. HA机制
  10. 心跳SQL配置 ==> 可配置对应心跳SQL,如果配置 是否启用心跳HA,当心跳SQL检测失败后,canal就会自动进行主备切换.

Node参数

  1. 机器名称 ==> 自定义名称,方便记忆
  2. 机器ip ==> 机器外部可访问的ip,不能选择127.0.0.1
  3. 机器端口 ==> 和manager/node之间RPC通讯的端口
  4. 下载端口 ==> 和node之间HTTP通讯的端口
  5. 外部Ip ==> node机器可以指定多IP,通过pipeline配置决定是否启用
  6. zookeeper集群 ==> 就近选择zookeeper集群

Zookeeper集群参数

  1. 集群名字 ==> 自定义名称,方便记忆
  2. zookeeper集群 ==> zookeeper集群机器列表,逗号分隔,最后以分号结束

主备配置参数

  1. group Key ==> 自定义名称,otter其他地方基于该名称进行引用
  2. master / slave ==> 主备库ip信息

生成了groupKey,1. 可以在数据库配置时,设置url:jdbc:mysql://groupKey=key (更改 key). 2. 在canal配置时,选择HA机制为media,可填入该groupKey进行引用

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

标签:

Avatar photo

小麦苗

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

您可能还喜欢...

发表回复