标签:
一、搭建环境:
mongodb版本:mongodb-linux-x86_64-3.0.6.gz
linux版本:CentOS 7 x64
服务器:(端口:27000)
192.168.1.201 数据库服务器、192.168.1.202 数据库服务器、192.168.1.203 仲裁服务器
(每个服务器防火墙开启27000端口iptables -I INPUT -p tcp --dport 27000 -j ACCEPT)
二、201和202配置数据库并启动(集群名字:daxiong)命令:
bin/mongod --port 27000 --dbpath db --logpath log/mongod.log --replSet daxiong
三、连接201或202数据库
bin/mongo 192.168.1.201:27000
四、进入admin,初始化集群
use admin config = { _id:"daxiong", members:[{_id:0,host:"192.168.1.201:27000"},{_id:1,host:"192.168.1.202:27000"}]} rs.initiate(config)
(需要执行一段时间)
五、添加成功后,添加仲裁服务器
rs.addArb("192.168.1.203:27000")
六、查看状态:
rs.status()
201目前是主服务器:primary
202备用服务器:secondary
203仲裁服务器:arbiter
七、测试故障转移
回到201,KO mongod
连接202,查看状态 202已经成为主服务器PRIMARY,这时201已经失联了
启动201 现在201已经是备选服务器了
默认情况下,读写都在主服务器,副本服务器不支持查询的,如果实现主从分离,主服务器写入,在副本服务器读取
副本服务器要开启读取权限
db.getMongo().setSlaveOk();
标签:
原文地址:http://my.oschina.net/daxiong0615/blog/505195