![mysql数据库双机同步开源软件otter《转载》 - 山风 - 山之风](https://i-blog.csdnimg.cn/blog_migrate/76c76fa179226ea2d9516b7fee9d1021.gif)
![mysql数据库双机同步开源软件otter《转载》 - 山风 - 山之风](https://i-blog.csdnimg.cn/blog_migrate/01f8721842747057ad552c4a7918dae2.gif)
otter开源了
![mysql数据库双机同步开源软件otter《转载》 - 山风 - 山之风](https://i-blog.csdnimg.cn/blog_migrate/46bfd10753f3539a7396799ba734dc98.gif)
otter的wiki页面:https://github.com/alibaba/otter
otter的环境需要:mysql ,jdk, zookeeper , node , aria2 , manager
为了防止otter的闪断,我把一些软件上传到了百度云上:
http://pan.baidu.com/share/link?uk=3708161223&shareid=2987646776#dir
其他的就不说了,直接说安装和使用。
1 安装mysql, jdk ,zookeeper
otter只支持5.5及以下版本的Mysql,不支持maridb
此处假设安装了数据库A:192.168.85.10:3306
数据库B: 192.168.85.11:3306
jdk,我安装的是7,安装完后,配置环境变量
zookeeper,可以只安装一个,可以以集群形式安装。
我现在只安装了一个,zookeeper的地址: 192.168.85.10:2181
2 安装node和aria2
node 需要aria2支持,我是在AB机房各安装了一套。
安装node:
创建目录:mkdir node
进入目录:cd node
下载node:
解压缩:tar zxvf node.deployer-$version.tar.gz
修改node的配置:vi conf/otter.properties
otter.manager.address =172.20.150.70:1099 ##对用manager中otter.properties的配置otter.communication.manager.port
node的启动/停止:
cd bin
startup.sh/stop.sh
安装aria2:
下载aria2:
解压缩:tar zxvf aria2-$version.tar.gz
为了方便切换目录:mv aria2-$version aria2
进入目录: cd aria2
编译:
./configure
Make
Make install
( 我本地安装的目录是/usr/local/aria2,安装后 ,bin目录在/usr/local/bin/)
3 安装manager
创建目录:mkdir manager
进入目录:cd manager
下载:wget https://github.com/alibaba/otter/releases/download/otter-x.y.z/manager.deployer-x.y.z.tar.gz
解压缩:tar zxvf manager.deployer-$version.tar.gz
安装manager的数据库:
下载初始化sql:wget https://raw.github.com/alibaba/otter/master/manager/deployer/src/main/resources/sql/otter-manager-schema.sql
进入Mysql中执行:mysql> source /usr/local/otter-manager-schema.sql
修改manager的配置文件:vi conf/otter.properties
## otter manager domain name
otter.domainName = 172.20.150.70##本地的域名
## otter manager http port
otter.port = 8080 ##对外访问的端口号
## jetty web config xml
otter.jetty = jetty.xml
## otter manager database config
otter.database.driver.class.name = com.mysql.jdbc.Driver
otter.database.driver.url = jdbc:mysql://192.168.85.10:3308/otter##otter数据的配置
otter.database.driver.username = canal
otter.database.driver.password = canal
## otter communication port
otter.communication.manager.port = 1099##对应Node中的配置
## otter communication pool size
otter.communication.pool.size = 10
## default zookeeper address
otter.zookeeper.cluster.default = 192.168.85.10:2181##zookeeper
manager的启动/停止:
cd bin
tartup.sh/stop.sh
4 调试
启动预装好的Mysql,zookeeper,manager.
4.1 在 manager的界面,添加Node,如下图:
机器管理—》Node管理
![mysql数据库双机同步开源软件otter《转载》 - 山风 - 山之风](https://i-blog.csdnimg.cn/blog_migrate/ea23cec7d91baf1708500a7e5853efa4.jpeg)
添加完成后,根据添加后的node序号,如下图中,192.168.85.10中对应的序号是1,那么进入10机器下的node目录,执行echo 1 > conf/nid,然后启动node.
4.2 添加Zookeeper:
机器管理-》Zookeeper管理
如图,点击添加按钮,添加内容参考下图:
4.3 数据源配置:
配置管理-》数据源配置,点击添加按钮
数据源配置填写需要同步的两个数据库信息
添加内容如下图所示,添加完成后,点击验证连接数据源
4.4 数据表配置:
配置管理-》数据表配置,点击添加按钮。
数据表配置需要同步的表的信息
添加数据库的名称,数据表的名称和数据源名称,并点击验证连接表
4.5 canal配置:
配置管理-》canal配置,点击添加按钮。
![mysql数据库双机同步开源软件otter《转载》 - 山风 - 山之风](https://i-blog.csdnimg.cn/blog_migrate/8267b7d22f955d5b910014cf94d53ded.jpeg)
canal需要添加两个,每一个对应一个数据库信息,从配置的数据库中,拉取bin-log信息。
![mysql数据库双机同步开源软件otter《转载》 - 山风 - 山之风](https://i-blog.csdnimg.cn/blog_migrate/4e526cfb15983208d422078cdad4d0f9.jpeg)
4.5 同步管理:
1)添加channel
![mysql数据库双机同步开源软件otter《转载》 - 山风 - 山之风](https://i-blog.csdnimg.cn/blog_migrate/3d7d7d02c1b5dc8160149642a78aec6a.jpeg)
2) channel下需要配置pipeline,点击channel的名字,可以添加pipeline
3)添加完成pipeline后,点击pipeline的名字,添加映射关系,映射关系配置同步的原表和目标表。
4)配置完成后,启动channel.
需要注意的是,如果配置的双通道,就是双机房双写,那么需要点击使用文档-》数据库初始化页面。
在双机房的数据库同时执行初始化SQL.
![mysql数据库双机同步开源软件otter《转载》 - 山风 - 山之风](https://i-blog.csdnimg.cn/blog_migrate/431668105b04baaffbc3bdd8b27de155.jpeg)
5)启动后,对双机房中的相应表分别进行插入,更新或其他操作,验证双机房同步结果~
终于同步了!再次感谢otter的开发者agapple
![mysql数据库双机同步开源软件otter《转载》 - 山风 - 山之风](https://i-blog.csdnimg.cn/blog_migrate/b0d3de217c917832232775831c051122.gif)