mysql双向同步服务安装列表otter依赖于zookeeper群集部署aria2的安装部署。 修改mysql配置文件构建初始化数据库otter打包部署代码安装otter-manager安装otter-node部署otter-manager配置添加数据源添加新数据源添加数据表l新channel新pipeline添加映射关系列表启动channel测试数据解决双向同步、主键自增冲突问题
服务安装列表
linux服务器gcc版本4.8.5gcc版本4.8以下需要升级
机器组件10.19.160.94otter-manager、zookeeper1、jdk1.810.19.160.95mysql、zookeeper2、aria 210.19.160.95 aria2192.168.25.58mysqlotter依靠zookeeper群集部署1.10.19.160.94来部署zookeeper群集
)1) zookeeper安装目录/u02/phoenix/zookeeper3.5.7
)2) cd /u02/phoenix/zookeeper3.5.7
mkdir zkData
touch myid
echo“1”myid
)3)修改zoo.conf的配置:
datadir=/u02/phoenix/zookeeper3.5.7/ZK data
server.1=10.19.160.94:28833603888
server.2=10.19.160.95:28833603888
server.3=10.19.160.96336028833603888
2.10.19.160.95zookeeper2部署
)1) zookeeper安装目录/u02/phoenix/zookeeper3.5.7
)2) cd /u02/phoenix/zookeeper3.5.7
mkdir zkData
touch myid
echo“2”myid
)3)修改zoo.conf的配置:
datadir=/u02/phoenix/zookeeper3.5.7/ZK data
server.1=10.19.160.94:28833603888
server.2=10.19.160.95:28833603888
server.3=10.19.160.96336028833603888
3.10.19.160.95zookeeper2部署
)1) zookeeper安装目录/u02/phoenix/zookeeper3.5.7
)2) cd /u02/phoenix/zookeeper3.5.7
mkdir zkData
touch myid
echo“3”myid
)3)修改zoo.conf的配置:
datadir=/u02/phoenix/zookeeper3.5.7/ZK data
server.1=10.19.160.94:28833603888
server.2=10.19.160.95336028833603888
server.3=10.19.160.96336028833603888
aria2安装部署1.aria2下载位置
运行rpm -qa|grep gcc时,将显示以下内容: 如果有不足,需要单独安装。
切换到运行aria2的目录并运行命令需要一段时间。
./configure make make install
4 .验证aria 2c-- -版本
更改mysql配置文件[mysqld]
log-快乐钢铁侠=mysql-快乐钢铁侠#开启快乐钢铁侠log
选择快乐的钢铁侠log-format=row#row模式
要配置server_id=1#MySQLreplaction,必须将其定义为不与canal的slaveId重复
character-set-server=utf8
初始化数据库
otter部署代码包1 .生成otter项目地址
2 .拉取的代码结构如下图所示。
3 .包装
mvncleaninstall-d maven.test.skip-denv=release
otter-manager安装1 .初始化otter-manager系统表。 初始化语句位于ottermanagerdeployersrcmainresourcesSQL目录中。
source otter-manager-schema.sql
2.manager.deployer -将$ version.tar.gz上载到10.19.160.94服务器。
3 .更改配置文件
修改为正确访问#IP,生成并使用URL
ott
er.domainName = 127.0.0.1#otter manager http port
otter.port = 8080
#修改为正确数据库信息
otter.database.driver.class.name = com.mysql.jdbc.Driver
otter.database.driver.url = jdbc:mysql://127.0.01:3306/ottermanager
otter.database.driver.username = root
otter.database.driver.password = hello
#default zookeeper address,修改为正确的地址,手动选择一个地域就近的zookeeper集群列表
otter.zookeeper.cluster.default = 127.0.0.1:2181
default zookeeper session timeout = 90s
otter.zookeeper.sessionTimeout = 90000
#otter arbitrate connect manager config
otter.manager.address = o t t e r . d o m a i n N a m e : {otter.domainName}: otter.domainName:{otter.communication.manager.port}
4.启动
./startup.sh 可能需要修改脚本的编码,:set ff=unix
5.访问管理页面。账号/密码 admin/admin
otter-node安装部署1.新增node,保存后得到唯一id
注意:node节点进行跨机房传输时,会使用到HTTP多线程传输技术,目前主要依赖了aria2c做为其下载客户端。所以aria2c必须与node节点在一台服务器上。
序号1对应10.19.160.96 序号2对应192.168.25.55
2.将-node.deployer-$version.tar.gz 上传到10.19.160.96和192.168.25.55服务器上,tar -xvf 解压缩。
3.进入node文件夹下,10.19.160.96服务器上执行echo 1 > conf/nid 192.168.25.55服务器上执行
echo 2 > conf/nid
4.修改node配置文件otter.properties
#otter arbitrate & node connect manager config
otter.manager.address = 10.19.160.94:1099
5.启动
./startup.sh
新增需要互相同步的两个数据源。
新增需要同步的数据表,.*代表同步所有的表。
otter内置了cannel,不需要我们重新安装。配置需要拉取的愉快的钢铁侠log的数据库信息。双向同步需要为每个数据库都配置一个cannel。
双向同步只需要配置一个chanel,两个pipeline。
otter对ddl,只支持单向同步,所以新增的两个pipeline只有一个能勾选上【支持ddl同步】,并且要选上【跳过ddl异常】,不然可能会导致channel挂起,无法同步。
定义源表和目标表的同步关系。
show global variables like ‘auto_inc%’; #查看全局变量中的自增长的默认步长
set global auto_increment_increment=2; #设置全局会话步长
set global auto_increment_offset=1/2; #设置全局自增长初始值。一个设置为1,一个设置为2