У меня есть настройка mongodb для среды кластера. Мой конфигурационный сервер и маршрутизатор работают на одной машине, тогда как оштрафование выполняется на трех разных машинах. Я хочу знать, доступна ли какая-либо команда, которую я могу запустить на терминале (на котором запущены configsvr и маршрутизатор), и отобразит все имя маршрута, конфигурационный сервер (связанный с ним), другие связанные с ним базы данных (связанные с ним).Проверить конфигурацию настройки mongodb
Чтобы упростить его больше.
Предположим, что я запустил mycommand/часть кода, это отображение.
router1---> configserver1----> Shardeddb1
----> Shardeddb2
-----> shardeddb3
Изменение, чтобы сделать его более понятным.
Мой маршрутизатор1 и configserver1 работают на одной машине (скажем, ip 19.0.0.123), Shardeddb1 (скажем, ip 19.0.0.124), Shardeddb2 (скажем, ip 19.0.0.125), Shardeddb3 (скажем, ip 19.0.0.126).
Я хочу сделать Shardeddb1 основным и (Shardeddb2, Shardeddb3) как вторичный. Если я запустил sh.status(); он показывает мне подробности, но не о том, какая база данных принадлежит какой машине. Так есть ли какой-нибудь скрипт, который может показать мне более подробную информацию?
sharding version: {
"_id" : 1,
"version" : 4,
"minCompatibleVersion" : 4,
"currentVersion" : 5,
"clusterId" : ObjectId("545b632e9be3f019d6ef788f")
}
shards:
{ "_id" : "ps1", "host" : "ps1/19.0.0.123:27017","draining" : true }
{ "_id" : "ps2", "host" : "ps2/19.0.0.124:27017" }
{ "_id" : "shard0000", "host" : "19.0.0.125:27017" }
{ "_id" : "shard0001", "host" : "19.0.0.126:27017" }
databases:
{ "_id" : "admin", "partitioned" : false, "primary" : "config" }
{ "_id" : "test", "partitioned" : true, "primary" : "shard0000" }
{ "_id" : "demo", "partitioned" : true, "primary" : "shard0000" }
{ "_id" : "db", "partitioned" : false, "primary" : "ps1" }
{ "_id" : "mongotestDB", "partitioned" : true, "primary" : "ps1" }
mongotestDB.logcoll
shard key: { "id" : 1 }
chunks:
shard0000 4
shard0001 9
ps2 7
ps1 5
too many chunks to print, use verbose if you want to force print
Маркус делает несколько хороших пунктов ниже. Я думаю, вам может понадобиться лучшее понимание архитектуры осколков, а затем вы можете переоценить свой вопрос. Наивно, ['sh.status'] (http://docs.mongodb.org/manual/reference/method/sh.status/#sh.status) наиболее близок к тому, что вы ищете с точки зрения монго функция оболочки. – wdberkeley
Первичный осколок (не путать с основным членом набора реплик) для каждой базы данных должен отображаться выходом 'sh.status()'. Можете ли вы отправить сообщение? –
@MarkusWMahlberg Я добавил sh.status() – user3526896