需要环境
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服务器的错误,这个问题可以忽略,继续创建,仍然能创建成功,并实现同步。