需要环境

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

posted on 2017-11-20 09:55  Smilence^^  阅读(1669)  评论(0编辑  收藏  举报