建立同步任务的基本流程
使用Otter的web管理器配置一个同步需求的基本流程如下:
- 录入Zookeeper集群信息
- 录入Node机器信息
- 添加数据源信息
- 添加数据表信息
- 添加canal信息
- 创建Channel
- 创建Pipeline
- 添加映射关系
如果想操作Otter的web管理器,需要以管理员账户登录,默认为admin/admin
。
管理器的导航栏包含以下分类:
同步管理、机器管理、配置管理、监控管理、使用文档、系统管理。
建立同步过程的设置集中在:同步管理
、机器管理
和配置管理
中。
录入Zookeeper集群信息
录入集群信息是指将之前已经搭建好的集群关系,录入到Otter系统内。
点击机器管理
中的zookeeper管理
,点击添加
按钮录入集群信息:
集群名字: 可任意,方便识别即可
ZooKeeper集群: 物理集群的所有IP及端口的集合
录入集群信息时,填写多IP以防止一台机器挂掉时,node可以连接集群内的其他集群机器,以西文分号隔开。
42.42.42.42:2181;
42.42.42.43:2181;
42.42.42.44:2181;
我们称这个集群为集群A,这是一个最基本的由三台机器组成的zookeeper集群,在这个集群附近创建的node机器都可以选择使用该集群A。
如果远端有以observer形式运行的集群节点,那么仍然可以通过添加
按钮录入这个zookeeper节点,称为集群B。
42.12.42.12:2181;
42.12.42.13:2181;
此时,在该节点附近创建的node机器可以选择集群B。
录入Node机器信息
集群录入完毕后,应录入Node机器信息,点击机器管理
下的Node管理
,通过添加
按钮增加Node信息。
机器名称: 任意
机器IP: 填写node的网卡IP,机器端口默认为2088
下载端口: 推荐9090,
#如果node不全在一个机房,包含外网通信
选中: 启用外部IP
填写该服务器的外部IP
zookeeper集群: 需要选择离node最近的物理集群。
数据源配置
点击配置管理
下的数据源配置
,通过添加
按钮增加数据源信息。
数据源名字: 任意
用户名和密码: 数据库的连接密码
URL: 格式参见文本域下方示例
编码: 一般为UTF8(跟随数据库的实际编码即可)
#数据库账号应该使用具备外部访问权限的账号。
数据表配置
点击配置管理
下的数据表配置
,通过添加
按钮增加数据表信息。
schmea name: 填写希望同步的数据库名
table name: 填写数据库内的数据表名
数据源: 选择刚才添加的数据源配置。
#下方的table示例可以看到
#普通的单表同步为schmea.table
#分表可以采用[1-x]形式进行通配
#全局备份可以采用全部填写.*来实现。
Canal配置
点击配置管理
下的canal配置
,通过添加
按钮增加canal信息。
根据otter的描述,otter嵌入式地依赖canal,canal用于读取来源库的bin-log并且传递给目标库,我们在这里把canal想象成node机器的一个附属组件,编辑时按node的原则选择就近的集群、来源库的连接方式。
同步管理
同步管理的配置过程如下:首先创建channel,然后在channel下创建pipeline,最后在pipeline下添加映射关系。可以这样理解,channel是给node之间的数据同步开辟了一个通道,pipeline是用来定义数据同步的方向,映射关系是用来定义同步什么样的数据。
创建channel
首先创建channel,点击同步管理
,再点击添加
按钮。
Channel Name: 任意
同步一致性: 推荐基于当前日志变更
同步模式: 如果是单向同步,选择行模式,如果双向同步或双A同步,建议选择列模式避免数据冲突。
数据一致性: 如果需要保证数据一致,那么开启该选项
#其余默认即可
创建pipeline
点击刚创建好的channel名字,就会进入该channel的pipeline管理中,点击添加
按钮:
pipeline名字: 任意
select机器: 数据来源的Node机器
load机器: 被同步的Node机器
主站点: 一个channel中只能有一个
Canal名字: 对应select机器的canal
高级设置: 支持ddl同步(主站点开,其余关)
添加映射关系
点击pipeline进入映射关系管理,点击添加
,根据同步需求选择源数据表和目标数据表即可,最后保存。