如何在同一实例上配置 MongoDB configsvr 和仲裁器?

如何在同一实例上配置 MongoDB configsvr 和仲裁器?

我正在与配置服务器相同的机器上设置仲裁器,但是默认的 10gen/etc/init.d/mongod文件遇到了一些问题。

我尝试/etc/init.d/mongod-arb为指向新.conf文件的仲裁器创建一个附加文件,但是它似乎忽略了 conf 文件中的 pidfilepath,并且我一次只能运行一个 mongod......

这样的配置是否有一些最佳实践?

答案1

目前有几个与 init 脚本相关的未解决的问题,例如请查看这些问题:

https://jira.mongodb.org/browse/SERVER-9275 https://jira.mongodb.org/browse/SERVER-9253 https://jira.mongodb.org/browse/SERVER-3748(此处最相关)

在过去深入研究过这些内容后,我发现 killproc 的调用方式以及它如何确定 PID 应该是什么存在问题,因此即使你让它们同时运行,只要你停止其中一个,最终也会将它们同时关闭。

上次遇到这种情况时,我只是在其他地方为配置服务器重新创建了二进制文件,以避免整个混乱并使所有内容完全分开。但是,使用足够智能的初始化脚本应该可以同时运行两者。

作为拉取请求的一部分,这里有一个单独的配置服务器初始化脚本的不错的首次尝试,如果您决定走这条路,这可能会对您有所帮助:

https://github.com/ClarityServices/mongo/blob/d45a824cedba957808c89f40282a8c18bb44e298/rpm/init.d-mongoc

相关内容