Verbindung zum Remote-Mongodb-Server kann nicht hergestellt werden
Ich versuche, einen Remote-Mongodb-Server zu erstellen, mit dem ich in meinem Java-Projekt arbeiten kann.
Ich benutze Vagrant + Ansible, um die Umgebung zu erstellen, aber aus irgendeinem Grund kann ich keine Verbindung herstellen.
Ich bekomme immer eine Verbindung über das Netzwerk abgelehnt. Der gleiche Code auf localhost funktioniert einwandfrei.
Ich benutze eine Vagrant Box:chef/centos-6.5
und meine anstehenden 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 habe die iptables Ausnahmen hinzugefügt:
sudo iptables -A INPUT -p tcp --dport 27017 -j ACCEPT
was ist aktiv:
[root@localhost ~]# 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, der @ definieMongoDbFactory
public @Bean
MongoDbFac,tory mongoDbFactory() throws Exception {
MongoClient mongo = new MongoClient("<ip-of-machine>", 27017);
return new SimpleMongoDbFactory(mongo, "test");
}
Aber ich bekomme immer die folgende Ausnahme, wenn ich versuche, eine Verbindung herzustellen.
com.mongodb.MongoTimeoutException: Timed out after 10000 ms while waiting for a server that matches AnyServerSelector{}. Client view of cluster state is {type=Unknown, servers=[{address=192.168.1.11:27017, type=Unknown, state=Connecting, exception={com.mongodb.MongoException$Network: Exception opening the socket}, caused by {java.net.ConnectException: Connection refused}}]
Wenn ich mongodb von localhost aus starte und die IP entsprechend ändere, funktioniert alles einwandfrei.
Vielen Dan