【发布时间】:2013-09-05 22:01:28
【问题描述】:
我有一个生产服务器和一个开发服务器。生产服务器正在运行 mongod,而我的开发服务器正在运行 2 个实例: 1 - 作为生产的“奴隶”(使用副本集)。这会复制我的数据并允许更轻松的备份。 2 - “主人”。我的开发集合(无法使用从属实例,关于 slaveOkay 等)。
他们都有自己的 pid 文件,数据文件夹,一切。这已经运行了一年多,没有出现太多问题。
不幸的是,自从上一个版本以来,似乎每当我启动一个实例时,它都会终止另一个实例(prod slave dev master)。无论哪个先启动,另一个总是停止。
有人知道为什么 mongo 会突然出现这样的行为并解决问题吗? 由于各种原因,使用主实例来容纳开发集合对我来说并不是一个真正的选择。
希望这能让事情更清楚一点:
production writes --> production [master] --[replicaSet]--> development instance 1 [slave]
development writes --> development instance 2 [master]
谢谢!
【问题讨论】:
-
此设置有效,您可以将开发数据写入开发从站吗?这听起来......不正确,无论如何日志说什么
-
不,它写在一个开发大师上,我已经更新了这个问题,希望它更清楚一点。实例关闭的日志仅提及收到的信号 15,然后“正常”终止。
-
我不知道会影响此设置,这是什么 MongoDB 版本?你最近升级了吗?如果是从哪个版本?您的设置最近发生了什么变化?
-
是的,我也没有...我只升级到 2.4.6,没有其他任何变化。之前可能是 2.4.5,我尽可能让我的机器保持最新。唯一奇怪的是我的 mongod 初始化脚本里面有 PIDFILE=
awk -F= '/^dbpath\s=\s/{print $2}' "$CONFIGFILE"。这对我来说似乎真的很尴尬。在我的(以前复制的)mongod-dev 文件中,这是 pidfilepath 而不是 dbpath。我想知道我是不是不小心改了这个?那我们会不会很奇怪... -
等待您使用初始化文件来启动这些?而且你是从同一个初始化文件启动的?