所有副本集成员通过每 2 秒发送一次心跳来监视所有其他成员。这些请求将在 10 秒后超时。
这两个值是可配置的吗?
目前可以rs.reconfig()
在 3.0 版本之后使用该功能。或命令 replSetGetConfig.settings.heartbeatTimeoutSecs。
https://docs.mongodb.org/v3.0/reference/method/rs.reconfig/#rs.reconfig
https://docs.mongodb.org/v3.0/reference/command/replSetGetConfig/#dbcmd.replSetGetConfig
在http界面可以看到:
mongohost:mongoport/replSetGetConfig?text=1
在设置下心跳超时多少秒
"settings" : { "chainingAllowed" : true,
"heartbeatTimeoutSecs" : 10,
"getLastErrorModes" : {},
"getLastErrorDefaults" : { "w" : 1,
"wtimeout" : 0 } } }
与 MongoDB 2.2.0 一样,目前的答案是“这些值在运行时不可配置”。您可以从github.com/mongodb/mongo查看代码并自己修改值,但这可能会产生意想不到的副作用。
幸运的是,正在为 MongoDB 的下一次迭代添加可配置的超时/心跳设置(2.3.x dev/unstable,最终将在 2.4 生产/稳定版本中达到高潮)。
有关更多信息,请参阅MongoDB 问题跟踪器中的SERVER-1929。