2015-03-03 16 views
22

Ogni volta digito: rs.initiate(), ottengo il seguente messaggio di errore:non può avviare set di repliche 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 
} 

sto correndo sotto google-cloud-motore con ultima MongoDB.

Qualche suggerimento su come risolvere questo?

+0

Hai provato a creare una configurazione di set di repliche in modo esplicito? Sembra che il processo di autoconfig stia riscontrando problemi con un nome host mappato al nodo, che è sintomatico di alcuni problemi di rete. – wdberkeley

risposta

30

VMHOSTNAME deve essere un alias per 127.0.0.1 nel file/etc/hosts per farlo funzionare.

Vedi qui https://jira.mongodb.org/browse/SERVER-16157

+1

In particolare, non può essere un alias per 127.0.1.1 in quanto è di default su Ubuntu, come indicato in questa risposta: http://dba.stackexchange.com/questions/105035/unable-to-create-replica- set-for-mongodb-in-linux/105088 # 105088 –

28

Si potrebbe provare a passare un parametro al comando .initiate().

Come così:

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

Questo ha fatto il trucco per me.

+0

Buona ricerca. Grazie. – Monodeep

+0

Grazie. La documentazione ufficiale di MongoDB fa schifo. –

0

Sì, esattamente, oppure è possibile modificare il nome host in qualcosa che è già nel/etc/hosts che punta a 127.0.0.1 come localhost.

Con un Mac è possibile eseguire questa operazione digitando sudo scutil –-set HostName localhost.

12

Il problema potrebbe essere nella configurazione di mongo. Cerca la riga seguente e commentala:

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

Questa era la soluzione più semplice su un'istanza AWS EC2 (Amazon)! –

Problemi correlati