2016-06-11 4 views
1

Я пытаюсь настроить sharding на одной машине, и я продолжаю получать сообщение об ошибке при попытке добавить осколки. Я использую следующий веб-сайт в качестве ссылки: http://www.javahotchocolate.com/notes/mongodb-sharding.htmlMongodb Sharding - нет такой команды: 'addShard'

Я использую одну машину и использую разные порты для имитации различных IP-адресов.

У меня есть конфигурацию следующим образом:

набора реплик Участники:

mongod --dbpath \rs1_p\db --port 27017 --replSet rs1 
mongod --dbpath \rs1_s1\db --port 27018 --replSet rs1 
mongod --dbpath \rs1_s2\db --port 27019 --replSet rs1 
mongod --dbpath \rs1_p\db --port 47017 --replSet rs2 
mongod --dbpath \rs1_s1\db --port 47018 --replSet rs2 
mongod --dbpath \rs1_s2\db --port 47019 --replSet rs2 

Конфигурирование наборов реплик в MongoDB оболочки:

config = 
{ 
    _id:"rs1", 
    members: 
    [ 
     { _id:0, host:"computerName:27017" }, 
     { _id:1, host:"computerName:27018" }, 
     { _id:2, host:"computerName:27019" } 
    ] 
} 
rs.initiate(config) 

config = 
{ 
    _id:"rs2", 
    members: 
    [ 
     { _id:0, host:"computerName:47017" }, 
     { _id:1, host:"computerName:47018" }, 
     { _id:2, host:"computerName:47019" } 
    ] 
} 
rs.initiate(config) 

Запуск сервера конфигурации:

mongod --dbpath \c1\db --configsvr --port 37017 
mongod --dbpath \c2\db --configsvr --port 37018 
mongod --dbpath \c3\db --configsvr --port 37019 

Запуск шардинге маршрутизаторы:

mongos --port 27077 --configdb computerName:37017, computerName:37018, computerName:37019 
mongos --port 27078 --configdb computerName:37017, computerName:37018, computerName:37019 

все окей до сюда, но получаю сообщение об ошибке в следующем шаге

sh.addShard('rs1/computerName:27017') 

Я получаю сообщение об ошибке следовать:

{ 
    "ok" : 0.0, 
    "errmsg" : "no such command: 'addShard', bad cmd: '{ addShard: \"rs1/computerName:27017\" }'", 
"code" : 59 
} 

I похоже, не может обойти это сообщение об ошибке.

Любые идеи о том, что мне не хватает.

Благодаря

ответ

3

согласно документации

Run addShard when connected to a mongos instance. The command takes the following form when adding a single database instance as a shard

при запуске это связывалось с Монго оболочки вы получите эту ошибку, так что вам нужно соединить, чтобы сказать mongo --port 27078 и выпуск этой команды.

mongo --host <hostname of machine running mongos> --port <port mongos listens on> 

manaual

более here и here

+0

я получаю сообщение об ошибке при попытке запустить mongos --port 27078 -> BADVALUE: ошибка: нет АГРС для --configdb – Selrac

+0

@Selrac извинениям нам нужно использовать монго для подключения монго ... ответ фиксированный и расширенный – profesor79

+0

Да, это сработало. Спасибо, Профессор. Ты король! – Selrac

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

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