Я пытаюсь настроить janusgraph (последняя версия) с cassandra (3.11.5) и elasti c seaarch (7.5.2) в вычислительном движке Google, используя docker. Когда я запускаю docker ps -a, все контейнеры работают. Но когда я пытаюсь обновить схему, я сталкиваюсь со следующими ошибками:
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)
Когда я исследовал вышеуказанную ошибку, я обнаружил, что, если поиск Elasti c не работает, может быть шанс бросить эту ошибку. Поэтому я проверил состояние janusgraph, выполнив команду bin / janusgraph. sh, затем я получил две ошибки
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 работает нормально, но Elasticsearch и cassandra не работают. Я нашел различные статьи, касающиеся вышеупомянутой проблемы, но ни одна из них не работала для меня.
Вот мой файл docker -compose.yml:
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:
Вы можете увидеть закомментированные строки для janusgraph томов, я прокомментировал, потому что эти файлы монтируются как папки, а не файлы.
Есть ли способ решить вышеуказанные проблемы. Заранее спасибо