环境 IP:10.10.6.171 部署:mysql源库 IP:10.10.6.172 部署:mysql目标库 IP:10.10.6.173 部署:zookeeper,manager,node,canal (也都部署到源库服务器上)
由于otter进行数据库同步,目前仅支持row,所以需要把源库的binlog_format改为ROW log-bin=mysql-bin expire_logs_days=3 binlog_format=ROW
otter为纯java编写(manager,node,canal都为java编写),所以需要安装JDK。
设置java环境变量 vi /etc/profile
export JAVA_HOME=/usr/local/jdk export JRE_HOME=/usr/local/jdk/jre export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$PATH
#生效 source /etc/profile
一、部署zookeeper 下载地址:http://pan.baidu.com/s/1miC2j4O 官网地址:https://zookeeper.apache.org/
tar zxvf zookeeper-3.4.10.tar.gz mv zookeeper-3.4.10 /usr/local/zookeeper cd /usr/local/zookeeper/conf mv zoo_sample.cfg zoo.cfg mkdir /usr/local/zookeeper/data
修改zoo.cfg配置文件 vi /usr/local/zookeeper/conf/zoo.cfg
dataDir=/usr/local/zookeeper/data autopurge.purgeInterval=1
修改bin/zkEnv.sh脚本 vi /usr/local/zookeeper/bin/zkEnv.sh 将ZOO_LOG_DIR="." 修改为ZOO_LOG_DIR="/usr/local/zookeeper/data" 将ZOO_LOG4J_PROP=”INFO,CONSOLE” 修改为ZOO_LOG4J_PROP="INFO,ROLLINGFILE"
修改bin/zkServer.sh脚本: vi /usr/local/zookeeper/bin/zkServer.sh 将ZOOBIN="${BASH_SOURCE-$0}" 修改为ZOOBIN=`readlink -f "${BASH_SOURCE-$0}"`
修改bin/zkCli.sh脚本: vi /usr/local/zookeeper/bin/zkCli.sh 将ZOOBIN="${BASH_SOURCE-$0}" 修改为ZOOBIN=`readlink -f "${BASH_SOURCE-$0}"`
建立软连接 ln -s /usr/local/zookeeper/bin/zkServer.sh /usr/local/bin/zk-server ln -s /usr/local/zookeeper/bin/zkCli.sh /usr/local/bin/zk-cli
echo 1 > /usr/local/zookeeper/data/myid
启动:zk-server start 关闭:zk-server stop
二、部署manager 下载地址:http://pan.baidu.com/s/1i5aEEw9 官网地址:https://github.com/alibaba/otter/releases
mkdir /usr/local/manager tar zxvf manager.deployer-4.2.14.tar.gz -C /usr/local/manager
配置修改 vi /usr/local/manager/conf/otter.properties
## otter manager domain name #修改为正确访问ip,生成URL使用 otter.domainName = 10.10.6.173 ## otter manager http port otter.port = 8080 ## jetty web config xml otter.jetty = jetty.xml
## otter manager database config #修改为正确数据库信息 otter数据库SQL:http://pan.baidu.com/s/1kUEVQEN otter.database.driver.class.name = com.mysql.jdbc.Driver otter.database.driver.url = jdbc:mysql://10.10.6.199:3306/otter otter.database.driver.username = root otter.database.driver.password = 123456
## default zookeeper address #修改为zookeeper地址信息 otter.zookeeper.cluster.default = 127.0.0.1:2181
启动:/usr/local/manager/bin/startup.sh 关闭:/usr/local/manager/bin/stop.sh
三、部署node 下载地址:http://pan.baidu.com/s/1bpEg2g3 官网地址:https://github.com/alibaba/otter/releases
mkdir /usr/local/node tar zxvf node.deployer-4.2.14.tar.gz -C /usr/local/node
cd /usr/local/node echo 1 > conf/nid #需要和manager管理页面的序号相同
配置修改 vi /usr/local/node/conf/otter.properties
## otter arbitrate & node connect manager config #修改manager的地址信息 otter.manager.address = 127.0.0.1:1099
启动:/usr/local/node/bin/startup.sh #先不用启动 关闭:/usr/local/node/bin/stop.sh
node需要aria2
下载地址:http://pan.baidu.com/s/1hsonOA4
rpm -ivh rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm yum -y install aria2
四、部署canal 下载地址:http://pan.baidu.com/s/1jIE8nTc 官网地址:https://github.com/alibaba/canal/releases #下载canal.deployer
mkdir /usr/local/canal tar zxvf canal.deployer-1.0.24.tar.gz -C /usr/local/canal
#只需部署canal无需配置和启动,canal可嵌入式运行,在manager页面管理中设置
五、设置manager管理页面 访问地址:http://10.10.6.173:8080/login.htm 用户名密码都为admin,密码可以系统管理中修改
1、Zookeeper管理 (IP1的ip地址)
2、Node管理 (IP2 和IP3的ip地址)
3、数据源配置
4、数据表配置 //
先在源库和目标库新建一个测试表
SQL代码:
CREATE TABLE `test`.`example` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(32) COLLATE utf8_bin DEFAULT NULL ,PRIMARY KEY (`ID`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;
5、canal配置
6、同步管理
7、测试
在源库中增加、修改、删除数据,在目标库中会准实时跟着变更。