需要環境
ruby1.8.5 or later
Java1.6 or later
應用程序對外開放接口
3306 (MySQL database)
2112 (Tungsten THL)
10000 (Tungsten RMI)
10001 (JMX management)
首先配置主服務器(192.168.9.169)
1.安裝ruby和java環境
yum -y install java-1.7.0-openjdk*
yum -y install ruby
2.修改系統最大連接數
1)查看最大連接數 ulimit -n 2)修改 vim /etc/security/limits.conf * soft nofile 65535 * hard nofile 65535 3)重啟linux reboot
3.修改mysql配置文件
vim /etc/my.cnf 最下面添加 binlog_format=row max_allowed_packet = 52M log_slave_updates = 1
4.停止主從同步
mysql -uroot -p;
輸入數據庫密碼
stop slave;
5.tungsten主程序配置
cd /usr/src tar -xvzf tungsten-replicator-2.2.1-403.tar.gz cd tungsten-replicator-2.2.1-403 創建並啟動 ./tools/tpm install mysql2mongodb \ --master=192.168.9.169 \ --install-directory=/opt/continuent \ --replication-user=數據庫用戶名 \ --replication-password=數據庫密碼\ --enable-heterogenous-master=true \ --repl-svc-extractor-filters=replicate \ --property=replicator.filter.replicate.do=同步的數據庫 \ --property=replicator.filter.replicate.ignore=zhongxin.zx_notice_req_log \ //表示數據表中特殊字符影響同步時忽略 --property=replicator.filter.pkey.addColumnsToDeletes=true \ --property=replicator.filter.pkey.addPkeyToInserts=true \ --start
6.查看tungsten的同步狀態
/opt/continuent/tungsten/tungsten-replicator/bin/trepctl status
state : ONLINE 表示服務啟動正常
配置從服務器(192.168.9.63)
1.安裝ruby和java環境
yum -y install java-1.7.0-openjdk*
yum -y install ruby
2.修改系統最大連接數
1)查看最大連接數 ulimit -n 2)修改 vim /etc/security/limits.conf * soft nofile 65535 * hard nofile 65535 3)重啟linux reboot
3.配置免密碼登陸
ssh-keygen -t rsa 一路回車 cd /root/.ssh cp id_rsa.pub authorized_keys chmod 600 authorized_keys scp authorized_keys root@192.168.9.169:/root/.ssh chmod 700 -R .ssh
4.tungsten從服務器配置
cd /usr/src tar -xvzf tungsten-replicator-2.2.1-403.tar.gz cd tungsten-replicator-2.2.1-403 創建並啟動 ./tools/tungsten-installer --master-slave -a \ --datasource-type=mongodb \ --datasource-port=20000 \ --master-host=192.168.9.169 \ --service-name=mysql2mongodb \ --home-directory=/opt/continuent \ --java-file-encoding=UTF8 \ --svc-parallelization-type=none \ --start-and-report
5.查看tungsten的同步狀態
/opt/continuent/tungsten/tungsten-replicator/bin/trepctl status
state : ONLINE 表示服務啟動正常
6.啟動mysql同步(192.168.9.169)
mysql -uroot -p;
輸入數據庫密碼
start slave;
運營篇
1.查看同步工具的日志
tail -300f /opt/continuent/tungsten/tungsten-replicator/log/trepsvc.log
tail -30f /opt/continuent/service_logs/trepsvc.log
2.查看同步狀態
/opt/continuent/tungsten/tungsten-replicator/bin/trepctl status
/opt/continuent/tungsten/tungsten-replicator/bin/trepctl services
3.當同步出錯后,解決問題后,執行命令重新同步
/opt/continuent/tungsten/tungsten-replicator/bin/trepctl -service mysql2mongodb online
/opt/continuent/tungsten/tungsten-replicator/bin/trepctl status
4.當一些表里面存在特殊符號可能會導致同步出錯,可以在從服務器啟動的時候加上一下參數跳過同步的表
--property=replicator.filter.replicate.ignore=zhongxin.zx_notice_req_log \
注:在配置從服務器63時,發現一個問題,63已經設置好了免密登陸169 ,ssh命令實驗成功,創建slave時,仍然報ssh連接不上master服務器的錯誤,這個問題可以忽略,繼續創建,仍然能創建成功,並實現同步。