Skip to Main Content

Remote proxy server won't connect unless NoSQL DB hostname registered in DNS or /etc/hosts

Christos Iraklis TsatsoulisFeb 6 2017 — edited Feb 13 2017

Hi all,

I am trying to built an IoT demo, where data from my Raspberry Pi will be stored in NoSQL. And since I intend to use the Python & Node.js API's, I followed the documentation instructions to set up a proxy server in the Pi.

Problem is, the proxy server (running in the Pi) is unable to find the NoSQL host, even if I use the host IP address (

pi@raspberrypi:~ $export CLASSPATH="/usr/local/lib/python2.7/dist-packages/nosqldb/kvproxy/lib/*"

pi@raspberrypi:~ $ java oracle.kv.proxy.KVProxy -port 7010 -helper-hosts -store kvstore

Feb 06, 2017 11:09:28 AM oracle.kv.proxy.KVProxy <init>

INFO: PS: Starting KVProxy server

Feb 06, 2017 11:09:28 AM oracle.kv.proxy.KVProxy <init>

INFO: PS: Connect to Oracle NoSQL Database kvstore nodes :

Exception in thread "main" oracle.kv.FaultException: Could not contact any RepNode at: [] (

Fault class name: oracle.kv.KVStoreException

    at oracle.kv.KVStoreFactory.getStoreInternal(
    at oracle.kv.KVStoreFactory.getStore(
    at oracle.kv.KVStoreFactory.getStore(
    at oracle.kv.proxy.KVProxy.<init>(
    at oracle.kv.proxy.KVProxy.startServer(
    at oracle.kv.proxy.KVProxy.main(

Caused by: oracle.kv.KVStoreException: Could not contact any RepNode at: []

    at oracle.kv.impl.util.TopologyLocator.getInitialTopology(
    at oracle.kv.impl.util.TopologyLocator.get(
    at oracle.kv.impl.api.RequestDispatcherImpl.<init>(
    at oracle.kv.KVStoreFactory.getStoreInternal(
    ... 5 more

Caused by: java.rmi.UnknownHostException: Unknown host: bigdatalite.localdomain; nested exception is: bigdatalite.localdomain
    at sun.rmi.transport.tcp.TCPEndpoint.newSocket(
    at sun.rmi.transport.tcp.TCPChannel.createConnection(
    at sun.rmi.transport.tcp.TCPChannel.newConnection(
    at sun.rmi.server.UnicastRef.invoke(
    at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(
    at java.rmi.server.RemoteObjectInvocationHandler.invoke(
    at com.sun.proxy.$Proxy0.getSerialVersion(Unknown Source)
    at oracle.kv.impl.util.registry.RemoteAPI.<init>(
    at oracle.kv.impl.rep.admin.RepNodeAdminAPI.<init>(
    at oracle.kv.impl.rep.admin.RepNodeAdminAPI.wrap(
    at oracle.kv.impl.util.TopologyLocator$
    at java.util.concurrent.Executors$
    at java.util.concurrent.ThreadPoolExecutor.runWorker(
    at java.util.concurrent.ThreadPoolExecutor$

Caused by: bigdatalite.localdomain

    at oracle.kv.impl.util.registry.ClientSocketFactory.createTimeoutSocket(
    at oracle.kv.impl.util.registry.ClientSocketFactory.createSocket(
    at sun.rmi.transport.tcp.TCPEndpoint.newSocket(
    ... 15 more

bigdatalite.localdomain is the hostname where NoSQL DB is running.

I was able to find a workaround, by including the host's IP address in the Pi's /etc/hosts file, after which the connection works properly; nevertheless, it feels like a hack.

I unearthed an old Stack Overflow question, where it is implied that the KVStore requires the hostname, but I could not locate such a requirement in the admin installation guide.

So, is this expected behavior? And if yes, could someone point to the relevant section in the installation documentation?

Many thanks in advance.


This post has been answered by Anand Chandak-Oracle on Feb 7 2017
Jump to Answer
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked due to inactivity on Mar 13 2017
Added on Feb 6 2017