2

ポート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 &

次に、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 で実行されていますが、なぜデフォルトの27017ポートに接続しようとしているのですか?

ポート 27017 で既存の mongo インスタンスを妨害することなく、複数のシャードで mongos を開始できますか?

4

1 に答える 1

6

mongos与えられたコマンドのリストから、デフォルトとは異なるポートで開始するように に指示していないようです。

別のポートで開始するには、--port引数を指定する必要があります。mongos

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

注:mongos上記のようにポート20000で実行されていません。そのポートで実行されている構成サーバーがあります

于 2012-08-23T15:41:20.037 に答える