部署三台机器的replica set,首先在三台机器都放置配置文件于/etc/mongo.conf:
这个configuration file的描述见网页:http://docs.mongodb.org/manual/reference/configuration-options/
然后启动./mongod --config /etc/mongo.conf
接着敲入mongo 192.168.2.161进入命令行:
cfg =
{
"_id" : "rs0",
"version" : 5,
"members" : [
{
"_id" : 0,
"host" : "192.168.2.161:27017"
},
{
"_id" : 1,
"host" : "mongo2:27017"
},
{
"_id" : 2,
"host" : "mongo3:27017",
"arbiterOnly" : true
}
]
}
"_id" : "rs0",
"version" : 5,
"members" : [
{
"_id" : 0,
"host" : "192.168.2.161:27017"
},
{
"_id" : 1,
"host" : "mongo2:27017"
},
{
"_id" : 2,
"host" : "mongo3:27017",
"arbiterOnly" : true
}
]
}
这个replica set分布式设置的document解释详见:
http://docs.mongodb.org/manual/reference/replica-configuration/
然后三台机器都启动mongod完成后
rs.initiate(cfg)
如果一开始没有设置某些设置,则可以先cfg = rs.conf()
然后cfg.members[i].xxx = yyy
然后rs.reconfig(cfg)
最后如果secondary和arbiter设置完了以后。可以采用kill掉secondary进程然后重启的办法重开进程。
这时候分别在三台机器上查看rs.status()和rs.conf()应该都能正常显示。
注意:
要想在secondary从机器上查询数据,则需要在从机上敲入rs.slaveOk()