上面的是配置说明,下面的是配置过程:环境背景是两个数据库同步到异地的两个数据库: A-C、B-D。一共用了5台主机,192.168.64.132~134、139、140。zk部署在192.168.64.132~134。134部署3个实例, 132、133各部署一个实例;实例类型为observer。node节点也是在192.168.64.132~134上各配置1个。134配置2个canal实例和manager。 192.168.64.132~133 、192.168.64.139~140分别各部署一个MySQL实例。同步规则:139->132、140->133其他的配置这里不说,在manager上配置的时候,简单说明一下。这里的服务器内部环境配置跳过。 manager配置: 操作步骤: 1.添加zk群集 2.添加node 3.添加数据库: a. 源库 jdbc:mysql://192.168.64.139:3306 b.目标 jdbc:mysql://192.168.64.132:3306 4.添加同步表信息: a.源数据表 .* b.目标数据表 .* 5.添加canal: a.提供数据库IP信息 6.添加channel: 7.添加pipeline: a.选择node节点 b.选择canal 8.添加同步映射规则 a.定义源表和目标表的同步关系 9.启动 10.测试数据
|
添加zk群集:机器管理->添加zookeeper管理: 群集列表以逗号分隔,冒号结束 添加node节点:机器管理->添加node管理: 机器端口建议为2088 红色方框中的需要就是我们上面所说的nid标识 我们把nid添加到服务器的node里面吧,启动一下node 添加数据库:这里使用默认的test库。源和目标库都要有相应的库: 字符集: [client] default-character-set=utf8 [mysqld] character-set-server=utf8 表: CREATE TABLE `user` ( `id` int(11) NOT NULL auto_increment COMMENT '用户ID', `name` varchar(50) NOT NULL default '' COMMENT '名称', `sex` int(1) NOT NULL default '0' COMMENT '0为男,1为女', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;
配置数据表: 无论是目标还是源,都要有一样的库表存在 添加canal: 这里是在一个服务器配置两个canal实例:需要考虑到id、port冲突: 添加channel: 添加pipelin: 添加同步映像规则: 开启同步: 测试数据: 多个实例和单个实例都是一样的,在这个环境中;两个源库,用的是两个canal模拟slave。不同的库关联相对应的canal、node,即可。这里我们又想到,上面的实例只是单个库--->单个库。 若是多个库呢?如何破?其实都是一样的,我们可以在同一个channal--> Pipeline-->映射表;添加映射表即可。也可以做一个库表对应一个channal--> Pipeline-->映射表。方法有很多。
上回文档:基于alibaba开源的分布式数据同步系统安装配置文档otter之环境配置 |
原标题:基于alibaba开源的分布式数据同步系统安装配置文档otter之manager单实例配置
关键词: