環境
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管理
2、Node管理
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、測試
在源庫中增加、修改、刪除數據,在目標庫中會准實時跟着變更。