Elasticsearch и Cassandra не отображаются в таблице процессов java - PullRequest
2 голосов
/ 12 февраля 2020

Я пытаюсь настроить 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 томов, я прокомментировал, потому что эти файлы монтируются как папки, а не файлы.

Есть ли способ решить вышеуказанные проблемы. Заранее спасибо

...