最佳实践自动化MongoDb群集重启

时间:2016-05-04 12:21:03

标签: windows mongodb

我们有一个MongoDB集群,并希望重新启动集群的所有成员。

我们可以自动重启Windows服务,或者通过mognoshell使用shutdownServer

但是我们不想让数据库不可用,所以一个想法就是只重启奴隶,下台,然后重启老主人。

我知道我可以通过rs.status()以及rs.StepDown()rs.freeze()确定主人和奴隶。我可以管理主要人员。

但是有没有内置的方法可以在没有停机的情况下重启MongoDB cluister?或者我是否必须编写一个工具来读取服务器的状态,然后手动处理它?<​​/ p>

1 个答案:

答案 0 :(得分:1)

没有&#34;安全重启&#34;机制在蒙戈建立。

要解决此问题,自定义工具必须遵循以下步骤:

  • 列出服务器列表(A,B,C)
  • 检查A是否为主要 - &gt;如果没有重启并等待x分钟
  • - &GT;如果是,请将其放在列表末尾

...

  • 当我们到达上一个服务器时 - 发出步骤,等待完成并重新启动

当发出stepdown时 - 所有客户端都被强制断开与master的连接,但会立即重新连接到新的master。