NoHostAvailableException: все хосты попытались выполнить запрос (попытка: jce-cassandra / 172.20.0.2: 9042 Невозможно подключиться)) - PullRequest
0 голосов
/ 18 февраля 2020

Я хочу создать janusgraph для своего приложения. Поэтому я создал экземпляр виртуальной машины в моем вычислительном движке. Когда я хочу запустить janusgraph вместе с поиском cassandra и elasti c, раньше он просто работал нормально, но теперь я сталкиваюсь с ошибкой. Полный журнал моей ошибки ниже

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/opt/janusgraph/lib/slf4j-log4j12-1.7.12.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/janusgraph/lib/logback-classic-1.1.3.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
0    [main] INFO  com.jcabi.manifests.Manifests  - 110 attributes loaded from 282 stream(s) in 1s, 110 saved, 3788 ignored: ["Agent-Class", "Ant-Version", "Archiver-Version", "Automatic-Module-Name", "Bnd-LastModified", "Boot-Class-Path", "Branch", "Build-Date", "Build-Host", "Build-Id", "Build-Java-Version", "Build-Jdk", "Build-Job", "Build-Number", "Build-Timestamp", "Build-Version", "Built-At", "Built-By", "Built-Date", "Built-OS", "Built-On", "Built-Status", "Bundle-ActivationPolicy", "Bundle-Activator", "Bundle-BuddyPolicy", "Bundle-Category", "Bundle-ClassPath", "Bundle-ContactAddress", "Bundle-Description", "Bundle-DocURL", "Bundle-License", "Bundle-ManifestVersion", "Bundle-Name", "Bundle-NativeCode", "Bundle-RequiredExecutionEnvironment", "Bundle-SymbolicName", "Bundle-Vendor", "Bundle-Version", "Can-Redefine-Classes", "Change", "Class-Path", "Created-By", "DSTAMP", "DynamicImport-Package", "Eclipse-BuddyPolicy", "Eclipse-ExtensibleAPI", "Embed-Dependency", "Embed-Transitive", "Export-Package", "Extension-Name", "Extension-name", "Fragment-Host", "Gradle-Version", "Gremlin-Lib-Paths", "Gremlin-Plugin-Dependencies", "Gremlin-Plugin-Paths", "Ignore-Package", "Implementation-Build", "Implementation-Build-Date", "Implementation-Title", "Implementation-URL", "Implementation-Vendor", "Implementation-Vendor-Id", "Implementation-Version", "Import-Package", "Include-Resource", "JCabi-Build", "JCabi-Date", "JCabi-Version", "Java-Vendor", "Java-Version", "Main-Class", "Manifest-Version", "Maven-Version", "Module-Email", "Module-Origin", "Module-Owner", "Module-Source", "Originally-Created-By", "Os-Arch", "Os-Name", "Os-Version", "Package", "Premain-Class", "Private-Package", "Provide-Capability", "Require-Bundle", "Require-Capability", "Scm-Connection", "Scm-Revision", "Scm-Url", "Specification-Title", "Specification-Vendor", "Specification-Version", "TODAY", "TSTAMP", "Time-Zone-Database-Version", "Tool", "X-Compile-Elasticsearch-Snapshot", "X-Compile-Elasticsearch-Version", "X-Compile-Lucene-Version", "X-Compile-Source-JDK", "X-Compile-Target-JDK", "hash", "implementation-version", "mode", "package", "service", "url", "version"]
30   [main] INFO  org.apache.tinkerpop.gremlin.server.GremlinServer  - 3.4.4
         \,,,/
         (o o)
-----oOOo-(3)-oOOo-----

1404 [main] INFO  org.apache.tinkerpop.gremlin.server.GremlinServer  - Configuring Gremlin Server from conf/gremlin-server/gremlin-server.yaml
2074 [main] INFO  org.apache.tinkerpop.gremlin.server.util.MetricManager  - Configured Metrics ConsoleReporter configured with report interval=180000ms
2094 [main] INFO  org.apache.tinkerpop.gremlin.server.util.MetricManager  - Configured Metrics CsvReporter configured with report interval=180000ms to fileName=/tmp/gremlin-server-metrics.csv
2530 [main] INFO  org.apache.tinkerpop.gremlin.server.util.MetricManager  - Configured Metrics JmxReporter configured with domain= and agentId=
2566 [main] INFO  org.apache.tinkerpop.gremlin.server.util.MetricManager  - Configured Metrics Slf4jReporter configured with interval=180000ms and loggerName=org.apache.tinkerpop.gremlin.server.Settings$Slf4jReporterMetrics
5438 [main] INFO  com.datastax.driver.core  - DataStax Java driver 3.7.2 for Apache Cassandra
5548 [main] INFO  com.datastax.driver.core.GuavaCompatibility  - Detected Guava < 19 in the classpath, using legacy compatibility layer
5927 [main] INFO  com.datastax.driver.core.Native  - Could not load JNR C Library, native system calls through this library will not be available (set this logger level to DEBUG to see the full stack trace).
5927 [main] INFO  com.datastax.driver.core.ClockFactory  - Using java.lang.System clock to generate timestamps.
6777 [main] INFO  com.datastax.driver.core.NettyUtil  - Found Netty's native epoll transport in the classpath, using it
9392 [main] WARN  org.apache.tinkerpop.gremlin.server.GremlinServer  - Graph [graph] configured at [conf/gremlin-server/janusgraph-cql-es-server.properties] could not be instantiated and will not be available in Gremlin Server.  GraphFactory message: GraphFactory could not instantiate this Graph implementation [class org.janusgraph.core.JanusGraphFactory]
java.lang.RuntimeException: GraphFactory could not instantiate this Graph implementation [class org.janusgraph.core.JanusGraphFactory]
        at org.apache.tinkerpop.gremlin.structure.util.GraphFactory.open(GraphFactory.java:82)
        at org.apache.tinkerpop.gremlin.structure.util.GraphFactory.open(GraphFactory.java:70)
        at org.apache.tinkerpop.gremlin.structure.util.GraphFactory.open(GraphFactory.java:104)
        at org.apache.tinkerpop.gremlin.server.util.DefaultGraphManager.lambda$new$0(DefaultGraphManager.java:57)
        at java.util.LinkedHashMap$LinkedEntrySet.forEach(LinkedHashMap.java:671)
        at org.apache.tinkerpop.gremlin.server.util.DefaultGraphManager.<init>(DefaultGraphManager.java:55)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
        at org.apache.tinkerpop.gremlin.server.util.ServerGremlinExecutor.<init>(ServerGremlinExecutor.java:80)
        at org.apache.tinkerpop.gremlin.server.GremlinServer.<init>(GremlinServer.java:122)
        at org.apache.tinkerpop.gremlin.server.GremlinServer.<init>(GremlinServer.java:86)
        at org.apache.tinkerpop.gremlin.server.GremlinServer.main(GremlinServer.java:345)
Caused by: java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.apache.tinkerpop.gremlin.structure.util.GraphFactory.open(GraphFactory.java:78)
        ... 13 more
Caused by: java.lang.IllegalArgumentException: Could not instantiate implementation: org.janusgraph.diskstorage.cql.CQLStoreManager
        at org.janusgraph.util.system.ConfigurationUtil.instantiate(ConfigurationUtil.java:64)
        at org.janusgraph.diskstorage.Backend.getImplementationClass(Backend.java:440)
        at org.janusgraph.diskstorage.Backend.getStorageManager(Backend.java:411)
        at org.janusgraph.graphdb.configuration.builder.GraphDatabaseConfigurationBuilder.build(GraphDatabaseConfigurationBuilder.java:50)
        at org.janusgraph.core.JanusGraphFactory.open(JanusGraphFactory.java:161)
        at org.janusgraph.core.JanusGraphFactory.open(JanusGraphFactory.java:132)
        at org.janusgraph.core.JanusGraphFactory.open(JanusGraphFactory.java:112)
        ... 18 more
Caused by: java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
        at org.janusgraph.util.system.ConfigurationUtil.instantiate(ConfigurationUtil.java:58)
        ... 24 more
Caused by: com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) tried for query failed (tried: jce-cassandra/172.20.0.2:9042 (com.datastax.driver.core.exceptions.TransportException: [jce-cassandra/172.20.0.2:9042] Cannot connect))
        at com.datastax.driver.core.ControlConnection.reconnectInternal(ControlConnection.java:268)
        at com.datastax.driver.core.ControlConnection.connect(ControlConnection.java:107)
        at com.datastax.driver.core.Cluster$Manager.negotiateProtocolVersionAndConnect(Cluster.java:1652)
        at com.datastax.driver.core.Cluster$Manager.init(Cluster.java:1571)
        at com.datastax.driver.core.Cluster.init(Cluster.java:208)
        at com.datastax.driver.core.Cluster.connectAsync(Cluster.java:376)
        at com.datastax.driver.core.Cluster.connectAsync(Cluster.java:355)
        at com.datastax.driver.core.Cluster.connect(Cluster.java:305)
        at org.janusgraph.diskstorage.cql.CQLStoreManager.initializeSession(CQLStoreManager.java:302)
        at org.janusgraph.diskstorage.cql.CQLStoreManager.<init>(CQLStoreManager.java:174)
        ... 29 more
9451 [main] INFO  org.apache.tinkerpop.gremlin.server.util.ServerGremlinExecutor  - Initialized Gremlin thread pool.  Threads in pool named with pattern gremlin-*
10297 [main] INFO  org.apache.tinkerpop.gremlin.server.util.ServerGremlinExecutor  - Initialized GremlinExecutor and preparing GremlinScriptEngines instances.

Подробности моего экземпляра виртуальной машины

Logs : Stackdriver Logging
Machine type : custom (1 vCPU, 10 GB memory)
Reservation : Automatically choose
CPU platform : Intel Haswell
Zone : us-central1-a
Labels : None
Public DNS PTR Record : None
Firewalls : Allow HTTP traffic, Allow HTTPS traffic
Network tags : http-server, https-server
Boot disk -
         size : 10GB
         type : standard persistent disk

Я подключился к экземпляру виртуальной машины через s sh. Я установил docker и docker compose.

Мой 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/volumes/janus/scripts:/opt/janusgraph/tmp/scripts
         - /mnt/volumes/janus/conf/janusgraph-cql-es-server.properties:/opt/janusgraph/conf/gremlin-server/janusgraph-cql-es-server.properties
        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
        links:
          - cassandra
          - elasticsearch
      cassandra:
        image: cassandra:3
        container_name: jce-cassandra
        volumes:
          - /mnt/volumes/cassandra:/var/lib/cassandra    
        ports:
          - "7000:7000"            
          - "9042:9042"
          - "9160:9160"
        networks:
          - jce-network
      elasticsearch:
        image: docker.elastic.co/elasticsearch/elasticsearch:6.6.0
        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/volumes/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:
    #volumes:
    #  janusgraph-default-data:

Мой файл janusgraph-cql-es-server.properties выглядит как

    gremlin.graph=org.janusgraph.core.JanusGraphFactory
    storage.backend=cql


    storage.hostname=jce-cassandra


    storage.cql.keyspace=janusgraph

    cache.db-cache = true

    cache.db-cache-clean-wait = 20

    cache.db-cache-time = 180000


    cache.db-cache-size = 0.25

    index.search.backend=elasticsearch


    index.search.hostname=jce-elastic

    index.search.elasticsearch.client-only=true
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...