?
接着重启服务:[root@mongodb13 ~]# service mongod restart
在192.168.1.11:27017(primary)中添加仲裁节点并查看结果:
?
rs0:PRIMARY> rs.addArb("mongodb13.kk.net:27019")
rs0:PRIMARY>
rs0:PRIMARY> db.isMaster()
{
"setName" : "rs0",
"setVersion" : 16,
"ismaster" : true,
"secondary" : false,
"hosts" : [
"mongodb11.kk.net:27017",
"mongodb12.kk.net:27018"
],
"arbiters" : [
"mongodb13.kk.net:27019"
],
"primary" : "mongodb11.kk.net:27017",
"me" : "mongodb11.kk.net:27017",
"electionId" : ObjectId("555884dc41ecb76a9ab03676"),
"maxBsonObjectSize" : 16777216,
"maxMessageSizeBytes" : 48000000,
"maxWriteBatchSize" : 1000,
"localTime" : ISODate("2015-05-17T12:31:34.720Z"),
"maxWireVersion" : 3,
"minWireVersion" : 0,
"ok" : 1
}
rs0:PRIMARY>
至此,添加完成!~
?
再次测试,在192.168.1.11:27017(primary)中删除服务进程:
?
[root@redhat11 ~]# ps -ef | grep mong mongod 4771 1 0 20:08 ? 00:00:09 /usr/bin/mongod -f /etc/mongod.conf root 4827 2580 0 20:08 pts/0 00:00:00 mongo mongodb11.kk.net:27017 root 5255 2618 0 20:33 pts/1 00:00:00 grep mong [root@redhat11 ~]# kill 4771
?
到192.168.1.12:27018(secondary)查看,primary切换为192.168.1.12
?
rs0:SECONDARY> db.isMaster()
{
"setName" : "rs0",
"setVersion" : 16,
"ismaster" : true,
"secondary" : false,
"hosts" : [
"mongodb11.kk.net:27017",
"mongodb12.kk.net:27018"
],
"arbiters" : [
"mongodb13.kk.net:27019"
],
"primary" : "mongodb12.kk.net:27018",
"me" : "mongodb12.kk.net:27018",
"electionId" : ObjectId("555889751e2e989b81963adc"),
"maxBsonObjectSize" : 16777216,
"maxMessageSizeBytes" : 48000000,
"maxWriteBatchSize" : 1000,
"localTime" : ISODate("2015-05-17T12:32:08.745Z"),
"maxWireVersion" : 3,
"minWireVersion" : 0,
"ok" : 1
}
rs0:PRIMARY>
primary能正常启动切换了!~
?
现在看看arbiter,连接到192.168.1.13:27019。
[root@mongodb13 ~]# mongo 192.168.1.13:27019
?
rs0:ARBITER> rs0:ARBITER> rs.slaveOk(); rs0:ARBITER> db.isMaster()
arbiter 最为仲裁者,没有数据副本存储在本地,能读取复制集的信息。
?