otter依赖于canal提供数据库日志,针对mysql数据有一些要求,具体请查看:https://github.com/alibaba/canal/wiki/QuickStart
有一点特别注意:目前canal支持mixed,row,statement多种日志协议的解析,但配合otter进行数据库同步,目前仅支持row协议的同步,使用时需要注意.
show variables like '%binlog_format%';
SET SESSION binlog_format = 'ROW';
SET GLOBAL binlog_format = 'ROW';
#SET SESSION binlog_format = 'STATEMENT';
#SET GLOBAL binlog_format = 'STATEMENT';
#SET SESSION binlog_format = 'MIXED';
#SET GLOBAL binlog_format = 'MIXED';
环境准备
1. 操作系统
2. 整个otter同步由几部分组成,需要预先进行安装,后续会有专门的篇幅展开介绍
3. otter node依赖于zookeeper进行分布式调度,需要安装一个zookeeper节点或者集群.
observer配置文档:
说明:添加了zookeeper集群后,会在添加node和canal时自动出现在可选列表里。 这也是添加node和canal的一个前提
Otter Manager QuickStart:
Otter Node QuickStart :
网友安装otter过程记录,供未接触java/mvn开发的运维人员使用 :http://blog.sina.com.cn/s/articlelist_1869333262_0_1.html
演示说明:
1 |
mysql> show variables like '%binlog_format%'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | binlog_format | ROW | +---------------+-------+ |
——- 视频中的演示文本:
1 |
CREATE TABLE `test`.`example` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(32) COLLATE utf8_bin DEFAULT NULL , PRIMARY KEY (`ID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; insert into test.example(id,name) values(null,'hello'); ----- Otter QuickStart 如何配置一个任务 ----- 操作步骤: 1. 添加数据库 a. 源库 jdbc:mysql://10.20.144.25:3306 b. 目标库 jdbc:mysql://10.20.144.29:3306 2. 添加canal a. 提供数据库ip信息 3. 添加同步表信息 a. 源数据表 test.example b. 目标数据表 test.example 4. 添加channel 5. 添加pipeline a. 选择node节点 b. 选择canal 6. 添加同步映射规则 a. 定义源表和目标表的同步关系 7. 启动 8. 测试数据 <wbr /> |