MongoSocketException : nodename nor servname provided, or not known

433 views Asked by At

I am trying to connect my spring boot service to a mongo cluster. Below is my application.yml configuration for mongo

      uri: mongodb://user:paswd@ip1:27017,ip2:27017,ip3:27017/dbname?authSource=admin&replicaSet=rs0&readPreference=secondary

but I am getting below error com.mongodb.MongoSocketException: ip1: nodename nor servname provided, or not known at com.mongodb.ServerAddress.getSocketAddresses(ServerAddress.java:211) at com.mongodb.internal.connection.SocketStream.initializeSocket(SocketStream.java:75) at com.mongodb.internal.connection.SocketStream.open(SocketStream.java:65) at com.mongodb.internal.connection.InternalStreamConnection.open(InternalStreamConnection.java:143) at com.mongodb.internal.connection.DefaultServerMonitor$ServerMonitorRunnable.lookupServerDescription(DefaultServerMonitor.java:188) at com.mongodb.internal.connection.DefaultServerMonitor$ServerMonitorRunnable.run(DefaultServerMonitor.java:144) at java.base/java.lang.Thread.run(Thread.java:833) Caused by: java.net.UnknownHostException: ip2: nodename nor servname provided, or not known at java.base/java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method) at java.base/java.net.InetAddress$PlatformNameService.lookupAllHostAddr(InetAddress.java:933) at java.base/java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1529) at java.base/java.net.InetAddress$NameServiceAddresses.get(InetAddress.java:852) at java.base/java.net.InetAddress.getAllByName0(InetAddress.java:1519) at java.base/java.net.InetAddress.getAllByName(InetAddress.java:1377) at java.base/java.net.InetAddress.getAllByName(InetAddress.java:1305) at com.mongodb.ServerAddress.getSocketAddresses(ServerAddress.java:203) ... 6 common frames omitted

any solution for the same

I am expecting a solution for this issue

1

There are 1 answers

1
AndrewL On

ip1, ip2, ip3 should be either IP addresses or Names resolvable in a DNS lookup service.

You should have something like:

uri: mongodb://user:[email protected]:27017,81.12.33.42:27017,81.12.33.43:27017/dbname?authSource=adm...

or

uri: mongodb://user:[email protected]:27017,hosthost2.somedomain.com:27017,hosthost3.somedomain.com:27017/dbname?authSource=adm...