errmsg : в новой конфигурации 1 для набора реплик rs0 не описан узел, сопоставленный с этим узлом». Почему я получаю это сообщение?

Я получаю это сообщение каждый раз, когда делаю rs.initiate() :

Нет узла, описанного в новой конфигурации 1 для набора реплик rs0, сопоставленного с этим узлом.

Вот как мой файл /etc/hosts/ выглядит на обоих серверах наборов реплик.

Файл hosts для серверов 1 и 2

127.0.0.1 localhost
aa.bb.cc.dd DataMongo1
ee.ff.gg.hh DataMongo2

Файл сервера 1-mongod.conf

bind-ip aa.bb.cc.dd

Сервер 2 - файл mongod.conf

bind-ip ee.ff.gg.hh

имя хоста server1 изменено на DataMongo1, а server2 на DataMongo2

$hostname DataMongo1

Порт 27071 раскомментирован на обоих серверах

Файл конфигурации ReplicaSet:

cfg= {
_id:"rs0",
члены:[{_id:0,хост:"DataMongo1:27071"},{_id:1,хост:"DataMongo2:27071"}]}

Пожалуйста, помогите мне с этой проблемой.


person Shashank    schedule 23.03.2015    source источник
comment
Пожалуйста, отредактируйте вопрос, чтобы включить конфигурацию набора реплик.   -  person wdberkeley    schedule 23.03.2015
comment
Похоже, он не вошел. Я думаю, что проблема, скорее всего, в том, что имя хоста одной из машин, назначенное в конфигурации, не соответствует тому, что возвращает hostname -f, поэтому машина не узнает себя.   -  person wdberkeley    schedule 24.03.2015
comment
Я попытался выполнить hostname -f на сервере aa.bb.cc.dd, и он вернул DataMongo1, а на другом сервере ee.ff.gg.hh он вернул DataMongo2. Но все еще получаю ту же ошибку. Я также следовал инструкциям на этом сайте. linode. com/docs/базы данных/mongodb/   -  person Shashank    schedule 25.03.2015
comment
я думаю, вам нужно добавить имя хоста в файл hosts Проверьте этот ответ   -  person austin    schedule 01.12.2015
comment
У меня та же проблема! Я смотрю в системной базе данных, что имя локальное имеет коллекцию local.me с 1-м документом, имеющим поле host=DEKA-PC. Это имя моего компьютера, и когда я просматриваю файл.log: инициация replSet получила NodeNotFound Нет хоста, описанного в новой конфигурации 1 для набора реплик replica1, сопоставляется с этим узлом при проверке { _id: replica1, version: 1,members: [ { _id: 0, хост: DEKA-PC:27018 } ] }   -  person Deka    schedule 20.01.2016
comment
Здравствуйте, Shashank, я также столкнулся с той же проблемой, нашли ли вы какое-либо решение. тогда, пожалуйста, дайте мне знать. Заранее спасибо.   -  person Jyoti    schedule 13.06.2017


Ответы (3)


Похоже порт не тот. Порт MongoDB по умолчанию — 27017, а не 27071.

person noam    schedule 28.05.2019

Я только что столкнулся с этой проблемой, и в моем случае симптомы заключались в том, что все работало правильно, пока я не перезагрузил сервер.

Тогда я бы получил следующую ошибку: NodeNotFound: No host described in new configuration $id for replica set $name maps to this node

Просто перезапуск демона mongodb исправил это, так что это не могло быть проблемой конфигурации набора реплик.

После более подробной проверки журналов я заметил следующее сообщение об ошибке: NETWORK [replexec-0] getaddrinfo("$name.emilburzo.com") failed: Temporary failure in name resolution -> бинго

Он пытался запросить имя хоста до того, как сеть была полностью запущена, и, таким образом, член набора реплик не знал свою собственную личность.

Добавление полного доменного имени сервера к /etc/hosts исправило его, например:

127.0.1.1       shortname    shortname.fqdn.com
person Emil Burzo    schedule 27.09.2020

если вы используете файл mongo.conf, сначала прокомментируйте раздел репликации, как показано ниже,

...
#operationProfiling:

# replication:
#   replSetName: rs0-here

#sharding:
...

Теперь запустите mongod и настройте набор реплик на терминале mongo, как показано ниже:

rs.initiate({_id: "rs0-here", version: 1, members: [{ _id: 0, host : "your_host:27017" }]})

Вы также можете создать пользователей и базы данных здесь, а затем выйти из него. Раскомментируйте следующий раздел в mongo.conf,

 replication:
   replSetName: rs0-here

снова запустите mongod, и тогда эта проблема должна исчезнуть.

person Alish Giri    schedule 16.03.2021