I am trying to setup janusgraph (latest version) with cassandra(3.11.5) and elastic seaarch(7.5.2) in Google compute engine using docker. When I run docker ps -a, all the containers are up and running. But when I am trying to update the schema I am facing the following errors:
gremlin-groovy is not an available GremlinScriptEngine
org.apache.tinkerpop.gremlin.jsr223.console.RemoteException: gremlin-groovy is not an available GremlinScriptEngine
at org.apache.tinkerpop.gremlin.console.jsr223.DriverRemoteAcceptor.submit(DriverRemoteAcceptor.java:184)
at org.codehaus.groovy.vmplugin.v7.IndyInterface.selectMethod(IndyInterface.java:234)
When I researched on the above error I found that if the Elastic search is not working there might be a chance of throwing this error. So I checked the status of the janusgraph by running the command bin/janusgraph.sh then I got following two errors
Gremlin-Server (org.apache.tinkerpop.gremlin.server.GremlinServer) is running with pid 31
Elasticsearch (org.elasticsearch.bootstrap.Elasticsearch) does not appear in the java process table
Cassandra (org.apache.cassandra.service.CassandraDaemon) does not appear in the java process table
Gremlin-Server is working fine but Elasticsearch and cassandra are not working. I found various articles regarding the above issue but none of them worked for me.
Here is my docker-compose.yml file:
version: "3"
services:
janusgraph:
image: janusgraph/janusgraph:latest
container_name: jce-janusgraph
environment:
JANUS_PROPS_TEMPLATE: cassandra-es
janusgraph.storage.backend: cql
janusgraph.storage.hostname: jce-cassandra
janusgraph.index.search.hostname: jce-elastic
volumes:
- /mnt/anyadvicevol/janus/scripts:/opt/janusgraph/tmp/scripts
# - /mnt/anyadvicevol/janus/conf/gremlin-server.yaml:/opt/janusgraph/conf/gremlin-server/gremlin-server.yaml
# - /mnt/anyadvicevol/janus/conf/janusgraph-cassandra-es-server.properties:/opt/janusgraph/conf/gremlin-server/janusgraph-cassandra-es-server.properties
# - /mnt/anyadvicevol/janus/tconf/janusgraph-cql-es-server.properties:/opt/janusgraph/conf/gremlin-server/janusgraph-cql-es-server.properties
# - /mnt/anyadvicevol/janus/tconf/janusgraph.sh:/opt/janusgraph/bin/janusgraph.sh
# - /mnt/anyadvicevol/janus/tconf/gremlin-server.sh:/opt/janusgraph/bin/gremlin-server.sh
ports:
- "8182:8182"
networks:
- jce-network
healthcheck:
test: ["CMD", "bin/gremlin.sh", "-e", "scripts/remote-connect.groovy"]
interval: 10s
timeout: 30s
retries: 3
entrypoint:
- bin/gremlin-server.sh
- conf/gremlin-server/gremlin-server.yaml
cassandra:
image: cassandra:3.11.5
container_name: jce-cassandra
volumes:
- /mnt/anyadvicevol/cassandra:/var/lib/cassandra
ports:
- "7000:7000"
- "9042:9042"
- "9160:9160"
networks:
- jce-network
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.5.2
container_name: jce-elastic
environment:
- "ES_JAVA_OPTS=-Xms108m -Xmx108m"
- "http.host=0.0.0.0"
- "network.host=0.0.0.0"
- "transport.host=127.0.0.1"
- "cluster.name=docker-cluster"
- "xpack.security.enabled=false"
- "discovery.zen.minimum_master_nodes=1"
volumes:
- /mnt/anyadvicevol/elas/data:/usr/share/elasticsearch/data
ports:
- "9200:9200"
- "9300:9300"
# command: ['chown', '-R', '1000:1000', '/usr/share/elasticsearch/data']
networks:
- jce-network
networks:
jce-network:
You can see the commented lines for janusgraph volumes, I commented because those files are mounting as folders instead of files.
Is there any way to solve the above issues. Thanks in advance