使用otter实现mysql的跨机房同步

原理描述:

1. 基于Canal开源产品,获取数据库增量日志数据。 什么是Canal, 请点击

2. 典型管理系统架构,manager(web管理)+node(工作节点)

    a. manager运行时推送同步配置到node节点

    b. node节点将同步状态反馈到manager上

3. 基于zookeeper,解决分布式状态调度的,允许多node节点之间协同工作.

环境准备

1. 操作系统

    a. otter为纯java编写,windows/linux均可支持

    b. jdk建议使用1.6.25以上的版本,稳定可靠,目前阿里巴巴使用基本为此版本

2. 整个otter同步由几部分组成,需要预先进行安装,后续会有专门的篇幅展开介绍

  • manager
  • node

3. otter node依赖于zookeeper进行分布式调度,需要安装一个zookeeper节点或者集群.

------------------------------------

安装Manager,以下都是在Ubuntu上做的实验:

1. 安装mysql

apt-get install mysql-server

修改配置:

#       other settings you may need to change.
server-id = 1
log_bin = /var/log/mysql/mysql-bin.log
expire_logs_days = 10
max_binlog_size         = 100M
binlog_format = ROW
#binlog_do_db = include_database_name
#binlog_ignore_db = include_database_name

2. 安装zookeeper

下载:http://mirror.bit.edu.cn/apache/zookeeper/

tar zxvf zookeeper-3.4.5-cdh4.3.0.tar.gz 

mv zookeeper-3.4.5-cdh4.3.0 /data/app/zookeeper

mv conf/zoo_sample.cfg conf/zoo.cfg

修改dataDir 和 dataLogDir



app/zookeeper/conf$ cat zoo.cfg 

# example sakes.
dataDir=/dianyi/data/zookeeper
dataLogDir=/dianyi/log/zookeeper
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.

启动Zookeeper:  data/app/zookeeper/bin/zkServer.sh

3.  安装Manager

https://github.com/alibaba/otter/wiki/Manager_Quickstart


4. 安装Node

https://github.com/alibaba/otter/wiki/Node_Quickstart

## otter arbitrate & node connect manager config
otter.manager.address = 10.2.1.100:1099

注意 是 1099而非8080


安装aria2  可以使用  sudo apt-get install aria2


5.  配置一个单向同步

https://github.com/alibaba/otter/wiki/QuickStart


6. 配置一个双向同步, 就是配置两个单向同步


如果启动时只能报“只能启动一个dll同步”错误,请修改pipline中的高级参数,两个pipline只能有一个可以支持ddl同步的。

层级关系  

Channel管理  >   Pipeline管理  >   映射关系列表






你可能感兴趣的:(使用otter实现mysql的跨机房同步)