22

gesetzt initiieren Jedes Mal, wenn ich schreibe: rs.initiate(), erhalte ich die folgende Fehlermeldung:Kann nicht Replik in 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 
} 

Ich laufe unter Google-Cloud-Motor mit neuesten MongoDB.

Irgendwelche Vorschläge, wie man das löst?

+0

Haben Sie versucht, eine Replikatsatzkonfiguration explizit vorzunehmen? Es scheint, als hätte der Autokonfigurationsvorgang Schwierigkeiten, einen Hostnamen zu finden, der dem Knoten zugeordnet ist, was für ein Netzwerkproblem symptomatisch ist. – wdberkeley

Antwort

30

Ihr VMHOSTNAME muss ein Alias ​​für 127.0.0.1 in Ihrer Datei/etc/hosts sein, damit es funktioniert.

Siehe hier https://jira.mongodb.org/browse/SERVER-16157

+1

Insbesondere kann es kein Alias ​​für 127.0.1.1 sein, wie es bei Ubuntu standardmäßig ist, wie in dieser Antwort gezeigt: http://dba.stackexchange.com/questions/105035/unable-to-create-replica- set-for-mongodb-in-linux/105088 # 105088 –

28

Sie könnten versuchen, einen Parameter auf den Befehl .initiate() geben.

Wie so:

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

Dies hat den Trick für mich.

+0

Gut finden. Vielen Dank. – Monodeep

+0

Danke. MongoDB offizielle Dokumentation saugt. –

0

Ja, genau, oder Sie können Ihren Hostnamen in etwas ändern, das bereits in Ihrer/etc/hosts auf 127.0.0.1 wie localhost zeigt.

Mit einem Mac können Sie dies tun, indem Sie sudo scutil –-set HostName localhost eingeben.

12

Das Problem könnte in Ihrer Mongo-Konfiguration sein. Suchen Sie nach der folgenden Zeile und kommentieren Sie sie aus:

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

Dies war der einfachste Fix für eine (Amazon) AWS EC2-Instanz! –

Verwandte Themen