1

2 つのシャードを作成します。キーは以下のような age です。

db.runCommand({addshard: "localhost:10000", allowLocal: true, maxsize: 0.1, minkey: 1, maxkey: 1})
db.runCommand({addshard: "localhost:10001", allowLocal: true, maxsize: 0.1, minkey: 2, maxkey: 2})

db.runCommand({enablesharding: "foo"})
db.runCommand({shardcollection: "foo.items", key: {"age": 1, "_id":1}, unique: true})

どのシャードでデータをチェックするのですか? または、指定されたシャードからデータを取得するにはどうすればよいですか? 出来ますか ?

4

1 に答える 1

1

どのシャードがどのくらいのデータを保持しているか知りたい場合は、

db.printShardingStatus();

指図。

自分では試していませんが、mongoプログラムを使ってmongosルータープロセスではなく、シャードのmongodプロセスに直接接続すれば、特定のシャードに対してクエリを実行できるはずだと思います。いずれにせよ、これはトラブルシューティングの目的でのみ行う必要があります。アプリケーションは、mongos を信頼してクエリを正しいシャードに分散し、シャードに直接アクセスしないようにする必要があります。

于 2012-09-10T14:13:47.550 に答える