«Этот узел не был запущен с опцией replSet»
Я изучаюMongoDBUniversity«sM101P: MongoDB для разработчиков курс.
я используюWiredTiger наMongoDB 3.2.
Я в настоящее время на темунаборы реплик.
Курс требует, чтобы я создал набор реплик, используя следующий код:
mongod --replSet rs1 --logpath "1.log" --dbpath /data/rs1 --port 27017 --fork
Но я использую Windows, которая не поддерживаетfork
так что используяэтот gist (как рекомендовано администратором курса) Я запустил эти строки одновременно в 3 разных консолях после того, как создал каталоги (с запущенным mongod):
mongod --replSet rs1 --logpath "1.log" --dbpath rs1 --port 27018 --smallfiles --oplogSize64
mongod --replSet rs1 --logpath "2.log" --dbpath rs2 --port 27019 --smallfiles --oplogSize64
mongod --replSet rs1 --logpath "3.log" --dbpath rs3 --port 27020 --smallfiles --oplogSize64
Который все, кажется, работает хорошо; Я вижу, что каталоги заполнены, и файлы журнала, которые показывают «ожидание соединения» с соответствующим номером порта.
Наконец, я запускаю следующий код для объединения серверов в качестве набора реплик:
config = {_id: "rs1", members: [
{ _id: 0, host: "localhost:27018"},
{ _id: 1, host: "localhost:27019"},
{ _id: 2, host: "localhost:27020"}
]
}
rs.initiate(config)
rs.status()
Который бросает:
"errmsg" : "This node was not started with the replSet option",
"code" : 76
Что я не могу разобраться, так как я четко использовал--replSet
опцию для каждого сервера, и действительно предоставил то же имя replSet, используемое в файле конфигурации
Я посмотрел на другие вопросы по этой теме, но есть несколько, и ни один из них я не могу найти адрес и решить эту проблему для меня.это говорится об очевидном из ошибки: мой конфигурационный файл должен включать--replSet=rs1
, но прочитавдокументация У меня сложилось впечатление, что_id
Конфиг, который я определил, служит этой цели
_Я бы
Тип: строка
Имя набора реплик. После установки вы не можете изменить имя набора реплик.
_Я быдолжен быть идентичным replication.replSetName или значению –replSet, указанному для mongod в командной строке.
Кроме того, это четко показано, как правильно работает в видео-демонстрациях материала курса именно так, как я пытаюсь его использовать.
Я нахожусь в конце своего ума, и был бы очень признателен за помощь.
Джейк