rs.remove()
定義
rs.remove(hostname)
現在のレプリカセットから
hostname
パラメータで記述されたノードを削除します。 この関数は、shell を一時的に切断し、レプリカセットがどのノードをプライマリにするかを再ネゴシエートするときに再接続を強制します。 その結果、このコマンドが成功しても、shell はエラーを表示します。rs.remove()
メソッドには次のパラメータがあります。Parameterタイプ説明hostname
stringレプリカセット内のシステムのホスト名注意
rs.remove()
操作を実行する前に、削除するレプリカセット メンバーをシャットダウンすることをお勧めします。
動作
デフォルトでは、レプリカセット ノードは 5 分間待機してから、除外されたノードへの接続を削除します。シャーディングされたレプリカセットでは、ShardingTaskExecutorPoolHostTimeoutMS
サーバー パラメーターを使用してこのタイムアウトを変更できます。
レプリカセットから削除されたノードへのすべての送信接続をすぐに削除するには、レプリカセット上の残りの各ノードでdropConnections
管理コマンドを実行します。
db.adminCommand( { "dropConnections" : 1, "hostAndPort" : [ "<hostname>:<port>" ] } )
<hostname>
を削除されたノードのホスト名に置き換え、 <port>
を mongod
がリスニングしていたポートに置き換えます。