Я пытаюсь создать простой кластер mongo db на локальном хосте (как POC) с сообществом MongoDB 4.0.1.
Этот кластер состоит из одного сегмента и одного набора реплик. Я следовал этому уроку, но застрял https://docs.mongodb.com/manual/tutorial/deploy-shard-cluster/
В качестве первого шага я запустил mongod в качестве сервера конфигурации со следующей конфигурацией:
sharding:
clusterRole: configsvr
replication:
replSetName: configServerTestReplicaSet
net:
bindIp: localhost
Затем я подключился к этому серверу конфигурации и инициализировал набор реплик через
rs.initiate()
После этого я перешел к реплике шарда с настройкой:
sharding:
clusterRole: shardsvr
replication:
replSetName: shardServerReplicaSet
net:
bindIp: localhost
Затем я снова подключился к этому экземпляру и запустил
rs.initiate()
Следующим шагом было подключение монго к разрозненному кластеру.
Итак, я начал монго со следующей конфигурацией:
sharding:
configDB: configServerTestReplicaSet/localhost:27019
net:
bindIp: localhost
Когда я запускаю mongos, я вижу следующий журнал
2018-09-04T08:59:00.378+0200 I NETWORK [mongosMain] waiting for connections on port 27017
Так что я подключаюсь к Монгос через
mongo.exe --host localhost --port 27017
В качестве следующего шага я пытаюсь добавить осколок в кластер
sh.addShard( "localhost:27017")
, что приводит к следующей ошибке:
sh.addShard( "localhost:27018")
{
"ok" : 0,
"errmsg" : "no such command: 'addShard'",
"code" : 59,
"codeName" : "CommandNotFound"
}
нет такой команды добавить осколок
Из справки ясно, что addShard является допустимой командой, и я пробовал различные комбинации синтаксиса с пробелами в двойных / одинарных кавычках и т. Д. *
Что я делаю не так? Я что-то пропустил во время настройки?
Спасибо за ваши предложения ...