我不是在谈论分片。我们有一个测试服务器(Linux),已经有一个mongo
属于另一个项目/子团队。是否有可能运行多个孤立事件的mongodb
一台机器上?我该怎么做?
我不是在谈论分片。我们有一个测试服务器(Linux),已经有一个mongo
属于另一个项目/子团队。是否有可能运行多个孤立事件的mongodb
一台机器上?我该怎么做?
Answers:
是的,您可以通过为的其他实例指定不同的端口号和数据目录mongod
,然后在客户端中指定新的端口号来做到这一点。
例如:
./mongod --dbpath /foo/bar/otherpath --port some_other_port
如果需要,您还可以更改分片服务器和配置服务器的端口号。
我采取的步骤是:
编辑init.d启动脚本并更改以下内容:
CONFIGFILE =“ / etc / mongod2.conf”(分别为mongod3.conf)
....
mongod = $ {MONGOD- / usr / bin / mongod2}(分别为mongod3)
无论我在哪里找到,都将/ var / lock / subsys / mongod替换为/ var / lock / subsys / mongod2(分别为mongod3)。
抵制将mongod.lock替换为mongod2.lock(或分别替换为mongod3.lock)的诱惑。它们位于不同的文件夹中(数据库文件夹不同),并且不会发生冲突。
现在我能
service mongod start|stop|status
service mongod2 start|stop|status
service mongod3 start|stop|status
并且
mongo --port <port_number>
对于每个mongo实例(请记住conf文件中的端口设置)
我不知道重命名mongod二进制文件的任何副作用。
希望这可以帮助。
[稍后编辑]要自动启动实例,只需ln -s /etc/init.d/mongod2 /etc/rc.d/rc3.d/S86mongod和ln -s /etc/init.d/mongod3 / etc / rc .d / rc3.d / S87mongod :)
Ubuntu 16.01
,没有init.d
脚本。您可以提供init.d
脚本内容吗?