我不是在谈论分片 。 我们有一个testing服务器(linux),并且已经有一个mongo
属于另一个项目/小组。 是否有可能在一台机器上运行多个独立的mongodb
实例 ? 我该怎么做?
是的,您可以通过为mongod
的其他实例指定不同的端口号和数据目录,然后在客户端指定新的端口号来完成此操作。
例如:
./mongod --dbpath /foo/bar/otherpath --port some_other_port
您也可以根据需要更改分片服务器和configuration服务器端口号。
我采取的步骤是:
编辑init.d启动脚本并更改以下内容:
CONFIGFILE =“/etc/mongod2.conf”(分别是mongod3.conf)
….
mongod = $ {MONGOD- / usr / bin / mongod2}(分别为mongod3)
将/ var / lock / subsys / mongodreplace为/ var / lock / subsys / mongod2(分别为mongod3)。
抵制诱惑,用mongod2.lock(或mongod3.lock,分别)replacemongod.lock。 他们在不同的文件夹(数据库文件夹是不同的),不会发生冲突。
现在我能
service mongod start|stop|status service mongod2 start|stop|status service mongod3 start|stop|status
并且
mongo --port <port_number>
对于每个mongo实例(记住conf文件中的端口设置)
我不知道重命名mongod二进制文件的任何副作用..
希望这可以帮助。
[稍后编辑]要自动启动实例,只需inputln -s /etc/init.d/mongod2 /etc/rc.d/rc3.d/S86mongod和ln -s /etc/init.d/mongod3 / etc / rc .d / rc3.d / S87mongod 🙂