Kan ikke oprette forbindelse til MongoDb installeret på en gæst Ubuntu VM fra Java Client på host Windows

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg kan ikke oprette forbindelse til mit MongoDB-tilfælde fra min Java-klient. MongoDb-forekomsten er installeret på en Ubuntu VM-session inde i VirtualBox. Mongo fungerer fint, når jeg kører kommandoer fra Mongo-skalen i Ubuntu - men jeg kan ikke oprette forbindelse til den fra min Windows 7 Intellij-session.


Min Java klientkode er som følger,


package com.mycom.mongodb.demo;

import com.mongodb.MongoClient;

public class App
{
    public static void main( String[] args )
    {

        MongoClient mongoClient = new MongoClient("192.168.171.68", 27017);

        mongoClient.getDatabaseNames().forEach(System.out::println);

    }
}


Men jeg får fejlmeddelelsen vist nedenfor.


Indtast billedbeskrivelse her [5]


Jeg kan Ping IP-adressen på min Ubuntu-boks, men jeg kan ikke telnet til IP: Port, som MongoDb kører på.


Indtast billedbeskrivelse her [6]


dette er min mongo.cfg fil


Indtast billedbeskrivelse her [7]


MongoDb kører på LocalHost på Ubuntu-maskine - så måske er dette et område, jeg skal konfigurere? Enhver hjælp ville blive værdsat.


Dette er min kommandolinje for at starte mongod


sudo /opt/mongodb/mongodb-linux-x86\_64-ubuntu1604-3.6.3/bin/mongod --config /var/opt/mongodb2/mongo.cfg


UPDATE:
Jeg kan få det til at fungere, hvis jeg inkluderer parameteren '- bind\_ip\_all' dvs.



  sudo/opt/mongodb/mongodb-linux-x86\_64-ubuntu1604-3.6.3/bin/mongod
  --bind\_ip\_all --config/var/opt/mongodb2/mongo.cfg



som jeg tror er ok for et lille demo-program, men ikke som en permanent løsning

Bedste reference


Jeg fandt svaret ved at bruge linket fra @CodeCaster - tak.


Jeg tilføjede 'bindIp' posten til filen 'mongo.cfg' som vist nedenfor. Dette er ip-adressen fra min Ubuntu VM, som jeg fandt ved at bruge 'ifconfig' fra et Terminal vindue.


robbie70@robbie70-vm-ubuntu64:~$ more /var/opt/mongodb2/mongo.cfg
net:
   port: 27017
   bindIp: 192.168.171.68
systemLog:
   destination: file
   path: "/var/opt/mongodb2/logs/mongodb2.log"
   logAppend: true
   quiet: false
storage:
   dbPath: "/var/opt/mongodb2/data"


nu når jeg starter MongoDb jeg dont angive '--bind\_ip\_all' i kommandolinjen,


sudo /opt/mongodb/mongodb-linux-x86\_64-ubuntu1604-3.6.3/bin/mongod --config /var/opt/mongodb2/mongo.cfg


og testdemoen Java Client-programmet kører ok nu,
Indtast billedbeskrivelse her [8]