2015-06-03 2 views
0

У меня есть набор реплик mongoDb, один первичный вторичный и арбитр для голосования. Я планирую внедрить осколки, поскольку ожидается, что данные будут расти экспоненциально. Мне трудно найти следующий документ mongoDb для ошпаривания. Может кто-нибудь объяснить это ясно, чтобы настроить его. Заранее спасибо.Sharding in a replicaset MongoDB

ответ

0

Если вы могли бы выполнить репликацию, осколки довольно просты. Довольно много повторяя документацию mongo в перемотке вперед здесь:

Ниже приведен пример настройки: 3 configDB и 3 осколка Для приведенного ниже примера вы можете запустить все это на одной машине, чтобы увидеть, как все это работает.

  1. Если вам нужны три осколка, установите три набора реплик. (Предполагая, что 3 Primary's 127: 0.0.1: 27000, 127.0.0.1:37000, 127.0.0.1:47000)
  2. Запустите 3 экземпляра mongod в качестве трех конфигурационных серверов. (Предполагая: 127.0.0.1:27020, 127.0.0.1:27021, 127.0.0.1:270122)
  3. Запустите mongos (обратите внимание на s in mongos), сообщив, где находятся ваши серверы конфигурации. (например: 127.0.0.1:27023)
  4. Подключитесь к mongos из оболочки mongo и добавьте три основных mongod ваших 3 наборов реплик как осколки.
  5. Включить очертание для вашей БД.
  6. При необходимости включить окантовку для коллекции.
  7. При необходимости выберите ключ осколка. (Очень важно, что вы делаете это в первый раз !!!)
  8. Проверьте состояние осколка
  9. Данные насоса; подключитесь к индивидуальным перформансам 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) 

 Смежные вопросы

  • Нет связанных вопросов^_^