6

私は 3 つのシャード (shard0000、shard0001、および shard0002) を使用して MongoDB シャード セットアップを行っています。shard0002 を実行するマシンが現在ダウンしているため、すべてのクエリが失敗します。セットアップから shard0002 を一時的に削除し、最初の 2 つのシャードで作業を続けたいと考えています。最初の 2 つのシャードに存在するシャード化されていないコレクションのみを使用すると仮定すると、それは可能ですよね?

私が最初に試したことは次のとおりです。db.runCommand({removeshard: 'IP:PORT'})シャードをドレインモードにするだけで、終了することはありません(ダウンしているため)。次に、構成サーバーに接続しようとし、db.shards.remove({_id: 'shard0002'})構成DBで実行してからmongosを再起動して、構成をリロードします。何かをしようとすると、「shard0002 のシャードが見つかりません」というメッセージが表示されます。

今のところそのシャードを気にしないことをMongoに知らせて、後で利用可能になったら再度有効にする方法はありますか.

4

3 に答える 3

12

別の問題があり、次の方法でシャードを手動で削除しました。

use config
db.shards.remove({"_id":"shard0002"});
于 2015-06-19T15:20:41.497 に答える
3

構成データベースのシャード エントリを手動で変更してから、removeshard

于 2010-10-05T13:35:50.160 に答える