mongodb配置Replica Set
mongodb配置Replica Set
有两个主机,180和179,打算在180上跑一个primary和arbiter,在179上
跑secondary。流程如下:
www.zzzyk.com
1. 删除库目录mongoTest下的local目录 ,启动180
1
./mongod --port 30000 --directoryperdb --logappend --logpath /data/mongoTest/log --fork --dbpath /data/mongoTest --replSet mydb
2. 启动180的arbiter
1
./mongod --port 30001 --directoryperdb --logappend --logpath /data/mongoTestArbiter/log --fork --dbpath /data/mongoTestArbiter --replSet mydb
3. 启动179的secondary
www.zzzyk.com
1
./mongod --port 30000 --directoryperdb --logappend --logpath /data/mongoTest/log --fork --dbpath /data/mongoTest --replSet mydb
4. 在180上运行
1
./mongo --port 30000
5. 进入mongo连接后,执行
1
rs.initiate()
6. 这时 rs中会有一个主节点,一般名字是 "localhost.domain1:30000",但我们不能要这样的名字,需要改成ip标识的主机,执行以下语句:
1
cfg = rs.conf()
2
cfg.members[0].host = "15.232.9.180:30000"
3
rs.reconfig(cfg)
7. 添加primary到集群
1
rs.add("15.232.9.180:30000")
8. 添加arbiter到集群
1
rs.add("15.232.9.180:30001",true) //true 为albiter
9. 添加179的secondary到集群
1
rs.add("15.232.9.179:30000")
10. 执行以下命令,查看集群情况
1
rs.status()
如果需要主从切换,执行以下语句即可
1
cfg = rs.conf()
2
cfg.members[0].priority =100
3
cfg.members[1].priority =90
4
rs.reconfig(cfg)