Replica Set管理:
维护基本步骤:
- 查看当前连接的服务器启动时的参数:
db.serverCmdLineOpts() db.shutdownServer()关闭服务- 启动参数中去掉replset选项,即可以standalone mode 启动。同时为了避免被集群搜索,应该用其他端口启动。
- 然后进行维护操作
- 以 replset方式重新启动服务
查看primary的 oplog:
rs.printReplicationInfo();
返回结果只有OPLOG的时间和大小信息,没有oplog数据。
查看secondary的 oplog:
rs.printSlaveReplicationInfo().
使primary退位成为secondary,同时在指定时间内不能参与选举:
rs.stepDown(600) 这里指定为10分钟,默认为1分钟
使secondary,指定时间内不能参与选举:
rs.freeze(10000) 如果设置为0即,让其可以恢复参与选举。
修改拉取同步信息的节点(强制secondary从某一台节点同步数据)(只要server0可用或者数据任然相对比较新的)
secondary.adminCommand({“replSetSyncFrom” : “server0:27017”})? <==> rs.syncFrom()
设置重启后失效,
连接中断后失效,
目标节点数据落后其他节点30秒以上,设置失效。
是否允许形成一个链状(多链或单链)的同步:(默认为允许,即可以从secondary拉取同步数据)
?config.settings.chainingAllowed = false?? //此时,所有secondary只会从primary同步
>rs.reconfig(config)
votes属性
可以设计节点没有选举的投票权。来减少网络开销。
rs.add({“_id” : 7, “host” : “server-7:27017”, “votes” : 0})
local.system.replset :存放了replica set的配置信息