原理描述:
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同步由几部分组成,需要预先进行安装,后续会有专门的篇幅展开介绍
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同步的。
层级关系