你的位置:首页 > 数据库

[数据库]基于alibaba开源的分布式数据同步系统安装配置文档otter之manager单实例配置


上面的是配置说明,下面的是配置过程:环境背景是两个数据库同步到异地的两个数据库: 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之环境配置