wir haben eine EC2 MongoDB 2.4-Instanz von Amazon MarketPlace.
mongo xx-xx-xx-xx-xx.compute-1.amazonaws.com
ich erhalte folgende Fehlermeldung
Error: couldn't connect to server xx-xx-xx-xx-xx.compute-1.amazonaws.com:27017 at src/mongo/Shell/mongo.js:147
exception: connect failed
irgendwelche Vorschläge, wie man das beheben kann?
Wie frisky gesagt wurde, müssen Sie den Port 27017 an der EC2 Security Group Console öffnen. (Weitere Informationen dazu finden Sie unter: http://docs.aws.Amazon.com/AWSEC2/latest/UserGuide/authorizing-access-to-an-instance.html )
Sie müssen aber auch die Variable bind_ip
in der Datei /etc/mongodb.conf ändern. Sie müssen die Zeile kommentieren oder die IP zuweisen, mit der die DB mit ihr verbunden werden kann.
Da mongod auf der Remote-Instanz ausgeführt wird und arbeitet, können Sie über Ihren MongoDB-Inhalt zugreifen
mongo xx-xx-xx-xx-xx.compute-1.amazonaws.com oder mongo machine_elastic_IP
Zuvor müssen Sie den eingehenden Port für diese Maschine öffnen. Der Standardport 27017 ist für die externe Welt geschlossen.
Weitere Informationen finden Sie unter: http://docs.aws.Amazon.com/gettingstarted/latest/wah/getting-started-security-group.html
Amazon hat eine Mongo-Sicherheitsgruppe ohne 27017 geöffnet.
Versuchen Sie, über den Browser auf xx-xx-xx-xx-xx.compute-1.amazonaws.com:27017 zuzugreifen. Wenn dies funktioniert, führen Sie ssh in die Instanz aus.
/var/lib/mongodb/mongod.lock
starten Sie den Mongodb-Server erneut und prüfen Sie, ob die Eingabe von mongo
in eine Mongo-Shell eingeht oder einen Fehler anzeigt.
Wenn der Fehler vorhanden ist, beenden Sie die Instanz und ss erneut, um nach $mongo
zu suchen, wenn eine Mongo-Shell geöffnet wird. Versuchen Sie nach diesen Änderungen einen Neustart, wenn der Fehler nach den oben genannten Änderungen noch besteht.
Das einzige Problem ist hier, bevor Sie von einer Anwendung aus darauf zugreifen. Mongodb sollte im Terminal unabhängig arbeiten.
EC2 steuert den Zugriff über die Sicherheitsgruppe. Stellen Sie daher sicher, dass das Kontrollkästchen für den Zugriff auf den Mongo-Datenbankhost in security group
zum Zugriff auf dieses Kontrollkästchen berechtigt ist und port
für dieselbe Sicherheitsgruppe aktiviert ist.
Ein anderes Problem kann iptables
sein. Markieren Sie Sudo service iptables status
in der Mongodb-Box und sehen Sie, welche Regeln dort gelten.
Stellen Sie sicher, dass Sie die entsprechenden Ports gemäß der security
-Anforderung der Box aktivieren.
Die folgenden zwei Schritte haben die Remote-Verbindung für mich aktiviert:
Danach können Sie sich mit mongo --Host YOUR_INSTANCE_IP in Ihre entfernte Mongo-Instanz einwählen