Mongo分片而不关闭现有的mongo实例

Cha*_*nda 2 replication sharding mongodb

我需要在关闭的情况下进行分片,或者重新启动端口27017中的现有mongo实例.

我尝试了以下,(默认端口正在运行,mongo实例)

mongod --shardsvr --dbpath /var/lib/mongodb/dba --port 10001 > /var/log/mongodb/shardlog/sharda.log &
mongod --shardsvr --dbpath /var/lib/mongodb/dbb --port 10002 > /var/log/mongodb/shardlog/shardb.log &

mongod --configsvr --dbpath /var/lib/mongodb/config --port 20000 > /var/log/mongodb/shardlog/configdb.log &
mongos --configdb localhost:20000 > /var/log/mongodb/shardlog/mongos.log &
Run Code Online (Sandbox Code Playgroud)

然后mongos日志给出错误,

Thu Aug 23 14:44:36 [mongosMain] ERROR: listen(): bind() failed errno:98 Address already in use for socket: 0.0.0.0:27017
Thu Aug 23 14:44:36 [mongosMain] ERROR:   addr already in use
Run Code Online (Sandbox Code Playgroud)

mongos在端口20000上运行,但为什么它试图连接默认的27017端口?

我可以使用多个分片启动mongos而不会干扰端口27017上的现有mongo实例吗?

And*_*ere 6

从您给出的命令列表中,看起来您没有告诉它mongos在默认的不同端口上启动.

您需要提供--port参数以便mongos在另一个端口上启动.

尝试: mongos --configdb localhost:20000 --port 10003

注意:mongos如上所述,未在端口20000上运行.您在该端口上运行配置服务器