Search code examples
tinkerpop3janusgraph

Cannot Start JanusGraph as per documentation


I am using the Janus Graph doc and I extracted it as mentioned.

./gremlin.sh

works fine and it starts the Gremlin prompt.

This code also works fine

graph = JanusGraphFactory.open('inmemory')
g = graph.traversal()

Problem

When I do this, I get a huge stacktrace

graph = JanusGraphFactory.open('conf/janusgraph-berkeleyje-es.properties')


gremlin> graph = JanusGraphFactory.open('conf/janusgraph-berkeleyje-es.properties')
12:15:49 WARN  org.janusgraph.diskstorage.es.rest.RestElasticSearchClient  - Unable to determine Elasticsearch server version. Default to FIVE.
java.net.ConnectException: Connection refused
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717)
    at org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor.processEvent(DefaultConnectingIOReactor.java:171)
    at org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor.processEvents(DefaultConnectingIOReactor.java:145)
    at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor.execute(AbstractMultiworkerIOReactor.java:348)
    at org.apache.http.impl.nio.conn.PoolingNHttpClientConnectionManager.execute(PoolingNHttpClientConnectionManager.java:192)
    at org.apache.http.impl.nio.client.CloseableHttpAsyncClientBase$1.run(CloseableHttpAsyncClientBase.java:64)
    at java.lang.Thread.run(Thread.java:748)
Could not instantiate implementation: org.janusgraph.diskstorage.es.ElasticSearchIndex
Type ':help' or ':h' for help.
Display stack trace? [yN]

Solution

  • As of JanusGraph 0.2.0, you cannot run Elasticsearch as an embedded node, so you need to start up an Elasticsearch node. You could download and deploy your own Elasticsearch node, or you could take advantage of the JanusGraph pre-packaged distribution:

    bin/janusgraph.sh start
    

    This command will start up one Cassandra node, one Elasticsearch node, and a Gremlin Server. Note that you will need the Java Development Kit (JDK) to run this command.

    Alternatively, you could start the only the Elasticsearch node from the JanusGraph pre-packaged distribution:

    elasticsearch/bin/elasticsearch
    

    which will start Elasticsearch in the foreground.