无法通过我本地计算机上的java代码连接到谷歌计算引擎上的mongodb服务器

时间:2015-03-23 13:20:06

标签: java mongodb google-compute-engine

MongoClient mongo = new MongoClient("23.236.50.143",27017);
    System.out.print(mongo);
    List<String> dbs = mongo.getDatabaseNames();
    for(String db1 : dbs){
        System.out.println(db1);
}

23.236.50.143是计算引擎实例的外部ip。

我还添加了防火墙规则以允许端口号27017上的连接。

仍然Connection Refused Error即将来临。

我做错了什么?

1 个答案:

答案 0 :(得分:3)

您已经提到已添加防火墙规则以允许在端口27017上进行连接。请确保在Google Cloud Console信息中心或使用gcloud命令行实用程序中添加了此防火墙规则。

设置完成后,请记下计算引擎实例的内部IP,这通常在Google Cloud Console dahsboard中提到。

编辑Mongo配置文件(通常出现在/etc/mongod.conf),以在bind_ip变量中添加计算引擎实例的内部IP。

配置文件如下所示:

$ vim /etc/mongod.conf
# /etc/mongod.conf

# Listen to local interface only. Comment out to listen on all interfaces.
bind_ip = 127.0.0.1

添加内部IP后,配置文件将如下所示:

$ vim /etc/mongod.conf

# /etc/mongod.conf

# Listen to local and LAN interfaces.
bind_ip = 127.0.0.1,X.X.X.X

其中X.X.X.X是您实例的内部IP。保存文件并重新启动mongo服务器。

注意:请勿在mongo配置文件中使用外部IP。

<强>参考: MKyong.com : MongoDB – Allow remote access