22

Всякий раза, когда я типа: rs.initiate(), я получаю следующее сообщение об ошибке:Не удается запустить набор реплик в Ubuntu

{ 
    "info2" : "no configuration explicitly specified -- making one", 
    "me" : "VMHOSTNAME:27017", 
    "ok" : 0, 
    "errmsg" : "No host described in new configuration 1 for replica set rs0 maps to this node", 
    "code" : 93 
} 

Я бег под Google-облачный двигатель с последним MongoDB.

Любые предложения по тому, как это решить?

+0

Вы пробовали сделать конфигурацию набора реплик явно? Похоже, что процесс autoconfig вызывает проблемы с именем хоста, которое сопоставляется с узлом, что является симптомом какой-либо проблемы с сетью. – wdberkeley

ответ

30

Ваш VMHOSTNAME должен быть псевдонимом для 127.0.0.1 в файле/etc/hosts, чтобы заставить его работать.

Смотрите здесь https://jira.mongodb.org/browse/SERVER-16157

+1

В частности, он не может быть псевдонимом для 127.0.1.1, поскольку он по умолчанию относится к Ubuntu, как указано в этом ответе: http://dba.stackexchange.com/questions/105035/unable-to-create-replica- set-for-mongodb-in-linux/105088 # 105088 –

28

Вы могли бы попытаться передать параметр в команде .initiate().

Как так:

rs.initiate({_id:"yourReplSetName", members: [{"_id":1, "host":"yourHost:yourPort"}]}) 

Это сделал трюк для меня.

+0

Хорошая находка. Благодарю. – Monodeep

+0

Спасибо. Официальная документация MongoDB отстой. –

0

Да, точно, или вы можете изменить свое имя хоста на то, что уже находится в вашем/etc/hosts, указывая на 127.0.0.1, например localhost.

С помощью mac вы можете сделать это, набрав sudo scutil –-set HostName localhost.

12

Проблема может быть в конфигурации вашего монго. Посмотрите на следующую строку и прокомментируйте это:

#bindIp: 127.0.0.1 # Listen to local interface only, comment to listen on all interfaces. 
+0

Это было самое простое исправление на экземпляре (Amazon) AWS EC2! –

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