Ich versuche, einen Remote-Mongodb-Server mit meinem Java-Projekt zu arbeiten.Fehler beim Herstellen einer Verbindung mit remote mongodb-Server
Ich benutze vagrant + ansible, um die Umgebung zu erstellen, aber fr soem reson kann ich keine Verbindung bekommen.
Ich bekomme immer Verbindung verweigert über das Netzwerk. Der gleiche Code auf localhost funktioniert einwandfrei.
ich vagrant Box bin mit: chef/centos-6.5
und meine ansible Aufgaben sind wie folgt:
- name: Download EPEL Repo get_url: url=http://dl.fedoraproject.org/pub/epel/6/x86_64/epel- release-6-8.noarch.rpm dest=/tmp/epel-release-6-8.noarch.rpm - name: Install EPEL Repo command: rpm -ivh /tmp/epel-release-6-8.noarch.rpm creates=/etc/yum.repos.d/epel.repo - name: Install libselinux-python yum: name=libselinux-python - name: Create the repository for 10Gen copy: src=10gen.repo.j2 dest=/etc/yum.repos.d/10gen.repo - name: Create the EPEL Repository. copy: src=epel.repo.j2 dest=/etc/yum.repos.d/epel.repo - name: Create the GPG key for EPEL copy: src=RPM-GPG-KEY-EPEL-6 dest=/etc/pki/rpm-gpg - name: Create the mongod user user: name=mongod comment="MongoD" - name: Create the data directory for the namenode metadata file: path={{ mongodb_datadir_prefix }} owner=mongod group=mongod state=directory - name: Install the mongodb package yum: name={{ item }} state=installed with_items: - libselinux-python - mongo-10gen - mongo-10gen-server - bc - python-pip - name: Install the latest pymongo package pip: name=pymongo state=latest use_mirrors=no
ich die iptables Ausnahmen hinzugefügt haben:
sudo iptables -A INPUT -p tcp --dport 27017 -j ACCEPT
das ist aktiv:
[[email protected] ~]# iptables -L -v Chain INPUT (policy ACCEPT 209 packets, 13148 bytes) pkts bytes target prot opt in out source destination 1070 68777 ACCEPT tcp -- any any anywhere anywhere tcp dpt:27017
mein Java-Code zu definieren MongoDbFactory
public @Bean MongoDbFactory mongoDbFactory() throws Exception { MongoClient mongo = new MongoClient("<ip-of-machine>", 27017); return new SimpleMongoDbFactory(mongo, "test"); }
Aber ich die folgende Ausnahme immer erhalten, wenn es zu verbinden versucht.
Wenn ich mongodb von localhost ausführen und die IP entsprechend ändern, funktioniert alles gut. Zum einen
Dank
Können Sie Telnet auf die Zieladresse und den Port? 'telnet 27017' –
nein, das funktioniert nicht: MacBook-Pro: ~ me $ telnet 192.168.1.11:27017 192.168.1.11:27017: nodename noch servname zur verfügung gestellt, oder nicht bekannt. Ping funktioniert aber – Gleeb
Das ist nicht richtig, verwenden Sie keinen Doppelpunkt zwischen Host und Port, wenn Sie Telnet verwenden. 'telnet 192.168.1.11 27017' –