[JAVA-1048] Not able to connect mongo db on ec2 server from standalone Java program Created: 08/Nov/13  Updated: 11/Sep/19  Resolved: 08/Nov/13

Status: Closed
Project: Java Driver
Component/s: Authentication
Affects Version/s: 2.4
Fix Version/s: None

Type: Task Priority: Blocker - P1
Reporter: rengith manickam Assignee: Unassigned
Resolution: Incomplete Votes: 0
Labels: connection
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Amazon ec2 server



 Description   

Hi All,
I have installed mongo db on amazon ec2 server, I am trying to connect the db from my local java standalone program. But it throwing exception, I know there is a firewall issue on my server. I am new this amazon ec2 and mongo db. Could anybody help me to resolve this issue?

Here is error I am getting when I run the program from my local machine...

Nov 08, 2013 7:14:04 AM com.mongodb.DBTCPConnector initDirectConnection
WARNING: Exception executing isMaster command on ec2-XX-XXX-XX-XX.compute-1.amazonaws.com/XX.XXX.XX.XX:27017
java.io.IOException: couldn't connect to [ec2-XX-XXX-XX-XX.compute-1.amazonaws.com/XX.XXX.XX.XX:27017] bc:java.net.SocketTimeoutException: connect timed out
at com.mongodb.DBPort._open(DBPort.java:214)
at com.mongodb.DBPort.go(DBPort.java:107)
at com.mongodb.DBPort.go(DBPort.java:88)
at com.mongodb.DBPort.findOne(DBPort.java:143)
at com.mongodb.DBPort.runCommand(DBPort.java:148)
at com.mongodb.DBTCPConnector.initDirectConnection(DBTCPConnector.java:548)
at com.mongodb.DBTCPConnector.isMongosConnection(DBTCPConnector.java:372)
at com.mongodb.Mongo.isMongosConnection(Mongo.java:627)
at com.mongodb.DB.wrapCommand(DB.java:294)
at com.mongodb.DB.command(DB.java:272)
at com.mongodb.DB.command(DB.java:256)
at com.mongodb.DB.command(DB.java:313)
at com.mongodb.DB.command(DB.java:211)
at com.mongodb.DB.command(DB.java:326)

Here is my java program:

public static void main(String[] args) throws UnknownHostException {
Mongo m = new Mongo("ec2-XX-XXX-XX-XX.compute-1.amazonaws.com/XX.XXX.XX.XX:27017");
try

{ m.getDB("admin").command("ping"); }

catch (MongoException.Network e)

{ // You should get this exception if the server is unavailable e.printStackTrace(); }

}
Note: I can able to connect mongo db from my terminal using ssh -i key-pair user@servername

Could you please tell where to change the firewall setting in amazon ec2 server/is there anything has to do in my local machine?

Thanks,
Rengith Manickam



 Comments   
Comment by rengith manickam [ 08/Nov/13 ]

Thanks a lot..Now I can able to connect the database after changing the security group setting. As you mentioned, Hereafter I will use mongodb-user mailinglist or stackoverflow for general questions.

Thanks,
Rengith Manickam.

Comment by Ross Lawley [ 08/Nov/13 ]

Hi Rengith,

You will need to add a security group exception for the port 27017 if you are using default config for you to access it from outside. For security group configuration, please check the amazon EC2 documentation. And if you are using a different port on Mongo, change the security group port accordingly.

This isn't an issue in the java driver per sae so for future reference the best place for general questions like this one would be the mongodb-user mailinglist or stackoverflow.

All the best,

Ross

Generated at Thu Feb 08 08:53:41 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.