首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未能连接到远程mongodb服务器

未能连接到远程mongodb服务器
EN

Stack Overflow用户
提问于 2015-01-17 18:31:55
回答 1查看 24.6K关注 0票数 18

我正在尝试创建一个远程mongodb服务器来处理我的java项目。

我正在使用流浪者+ ansible来创建环境,但是我无法获得连接。

我总是通过网络被拒绝连接。本地主机上的相同代码工作得很好。

我使用的是“流浪”框:chef/centos-6.5

我的任务如下:

  • 名称:下载EPEL Repo get_url: url=64埃佩尔- release-6-8.noarch.rpm创建=/etc/yum.rep.d/epel.repo名称: name=libselinux-python :name= libselinux-python - name:为10 for创建存储库: src=10gen.repo.j2 =/etc/yum.pos.d/10 gen.repo- name: Create EPEL Repository。复制: src=epel.repo.j2 dest=/etc/yum.pos.d/epel.repo- name:为EPEL复制创建GPG密钥:src=rpm-gpg- key -6est=/etc/pki/rpm-gpg- name: name=mongod comment=" mongod“- name:为namenode元数据文件创建数据目录: path={{ mongodb_datadir_prefix }} owner=mongod group=mongod state=directory - name: Install mongodb包yum: name={ item }} state=installed with_items:-libselinux with_itemspython -mongo-10 pip mongo-10 pip server- bc - python-pip - name:安装最新的pymongo包pip: name=pymongo state=latest use_mirrors=no

我添加了iptable的例外情况:

代码语言:javascript
复制
sudo iptables -A INPUT -p tcp --dport 27017 -j ACCEPT

它是活跃的:

根@localhost ~# iptables -v链输入(策略接受209个数据包,13148字节) pkts字节目标prot选择退出源目的地1070 68777接受tcp -任何地方tcp dpt:27017

定义MongoDbFactory的java代码

public @Bean MongoDbFactory mongoDbFactory()抛出异常{ MongoClient mongo =新MongoClient("",27017);返回新SimpleMongoDbFactory(mongo,"test");}

但是,当我试图连接到它时,我总是会得到以下异常。

代码语言:javascript
复制
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}}]

如果我从localhost运行mongodb并相应地更改ip,那么一切都正常。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-17 19:44:34

首先,为了确保这不是防火墙问题,请在这两个服务器上停止IPTABLES (不要忘记以后重新启用)。

在您试图连接的机器上,ssh直接连接到它并确保MongoDB正在运行,连接本地并检查您是否可以访问DB。

默认情况下,MongoDb不被配置为接受来自远程主机的连接,您能否确保/etc/mongodb.conf文件中有以下行:

代码语言:javascript
复制
bind_ip = 0.0.0.0
port = 27017

确保在进行任何更改后重新启动MongoDB。试试这个,如果你还有问题,我会用更多的建议更新答案。

编辑:从2.6版开始配置文件格式已更改为YAML,details 这里,该文件应位于/etc/mongod.conf

代码语言:javascript
复制
net:
   bindIp: 0.0.0.0
   port: 27017
票数 50
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28002848

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档