2012-08-23 33 views
2

我需要做分片沒有關機或重新啓動現有的mongo實例在端口。Mongo sharding無關機現有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 & 

然後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 

mongos在端口上運行20000但爲什麼它試圖連接默認端口端口?

我可以用多個碎片啓動mongos而不干擾端口27017上現有的mongo實例嗎?

+0

這將是一個很好的問題在ServerFault – sean

回答

6

從您給出的命令列表中,您看起來好像沒有告知mongos在與默認不同的端口上啓動。

您需要爲mongos提供--port參數以便在不同的端口上啓動。

嘗試:mongos --configdb localhost:20000 --port 10003

注:如你上面說的mongos不在端口20000上運行。你有配置服務器在該端口上運行

+0

要求非常感謝。它正在工作。 。 –