У меня есть набор реплик mongoDb, один первичный вторичный и арбитр для голосования. Я планирую внедрить осколки, поскольку ожидается, что данные будут расти экспоненциально. Мне трудно найти следующий документ mongoDb для ошпаривания. Может кто-нибудь объяснить это ясно, чтобы настроить его. Заранее спасибо.Sharding in a replicaset MongoDB
0
A
ответ
0
Если вы могли бы выполнить репликацию, осколки довольно просты. Довольно много повторяя документацию mongo в перемотке вперед здесь:
Ниже приведен пример настройки: 3 configDB и 3 осколка Для приведенного ниже примера вы можете запустить все это на одной машине, чтобы увидеть, как все это работает.
- Если вам нужны три осколка, установите три набора реплик. (Предполагая, что 3 Primary's 127: 0.0.1: 27000, 127.0.0.1:37000, 127.0.0.1:47000)
- Запустите 3 экземпляра mongod в качестве трех конфигурационных серверов. (Предполагая: 127.0.0.1:27020, 127.0.0.1:27021, 127.0.0.1:270122)
- Запустите mongos (обратите внимание на s in mongos), сообщив, где находятся ваши серверы конфигурации. (например: 127.0.0.1:27023)
- Подключитесь к mongos из оболочки mongo и добавьте три основных mongod ваших 3 наборов реплик как осколки.
- Включить очертание для вашей БД.
- При необходимости включить окантовку для коллекции.
- При необходимости выберите ключ осколка. (Очень важно, что вы делаете это в первый раз !!!)
- Проверьте состояние осколка
- Данные насоса; подключитесь к индивидуальным перформансам mongod и просмотрите данные, распределенные по трем осколкам.
#start mongos with three configs:
mongos --port 27023 --configdb localhost:27017,localhost:27018,localhost:27019
mongos> sh.addShard("127.0.0.1:27000");
{ "shardAdded" : "shard0000", "ok" : 1 }
mongos> sh.addShard("127.0.0.1:37000");
{ "shardAdded" : "shard0001", "ok" : 1 }
mongos> sh.addShard("127.0.0.1:47000");
{ "shardAdded" : "shard0002", "ok" : 1 }
mongos> sh.enableSharding("db_to_shard");
{ "ok" : 1 }
mongos> use db_to_shard;
switched to db db_to_shard
mongos>
mongos> sh.shardCollection("db_to_shard.coll_to_shard", {collId: 1, createdDate: 1});
{ "collectionsharded" : "db_to_shard.coll_to_shard", "ok" : 1 }
mongos> show databases;
admin (empty)
config 0.063GB
db_to_shard 0.078GB
mongos> sh.status();
--- Sharding Status ---
sharding version: {
"_id" : 1,
"minCompatibleVersion" : 5,
"currentVersion" : 6,
"clusterId" : ObjectId("557003eb4a4e61bb2ea0555b")
}
shards:
{ "_id" : "shard0000", "host" : "127.0.0.1:27000" }
{ "_id" : "shard0001", "host" : "127.0.0.1:37000" }
{ "_id" : "shard0002", "host" : "127.0.0.1:47000" }
balancer:
Currently enabled: yes
Currently running: no
Failed balancer rounds in last 5 attempts: 0
Migration Results for the last 24 hours:
No recent migrations
databases:
{ "_id" : "admin", "partitioned" : false, "primary" : "config" }
{ "_id" : "test", "partitioned" : false, "primary" : "shard0000" }
{ "_id" : "db_to_shard", "partitioned" : true, "primary" : "shard0000" }
db_to_shard.coll_to_shard
shard key: { "collId" : 1, "createdDate" : 1 }
chunks:
shard0000 1
{ "collId" : { "$minKey" : 1 }, "createdDate" : { "$minKey" : 1 } } -->> { "collId" : { "$maxKey" : 1 }, "createdDate" : { "$maxKey" : 1 } } on : shard0000 Timestamp(1, 0)