2017-11-18 12 views
1

私はCassandra 3.11.1をMac(OS X 10.11.6)にインストールして実行しています。JanusGraphをMacのローカルCassandraに接続できません

Connected to Test Cluster at 127.0.0.1:9042. 
[cqlsh 5.0.1 | Cassandra 3.11.1 | CQL spec 3.4.4 | Native protocol v4] 
Use HELP for help. 
cqlsh> 

だからカサンドラが正常に動作する必要があります。ターミナルでcqlshを実行すると、以下のメッセージを出力します。 Java APIを使用して、私はこれらの行を使用してカサンドラ・ストレージ・バックエンドに接続されGraphを作成しようとする:

次の例外が発生しますが
JanusGraph graph = JanusGraphFactory.build() 
    .set("storage.backend", "cassandra") 
    .set("storage.hostname", "127.0.0.1") 
    .open(); 

java.lang.IllegalArgumentException: Could not instantiate implementation: org.janusgraph.diskstorage.cassandra.astyanax.AstyanaxStoreManager 
    at org.janusgraph.util.system.ConfigurationUtil.instantiate(ConfigurationUtil.java:69) 
    at org.janusgraph.diskstorage.Backend.getImplementationClass(Backend.java:477) 
    at org.janusgraph.diskstorage.Backend.getStorageManager(Backend.java:409) 
    at org.janusgraph.graphdb.configuration.GraphDatabaseConfiguration.<init>(GraphDatabaseConfiguration.java:1353) 
    at org.janusgraph.core.JanusGraphFactory.open(JanusGraphFactory.java:107) 
    at org.janusgraph.core.JanusGraphFactory.open(JanusGraphFactory.java:97) 
    at org.janusgraph.core.JanusGraphFactory$Builder.open(JanusGraphFactory.java:152) 
    at engineering.divine.core.GraphFactory.cassandraGraph(GraphFactory.java:395) 
    at engineering.divine.core.GraphFactory.graph(GraphFactory.java:301) 
    at engineering.divine.core.GraphFactory.getDefault(GraphFactory.java:102) 
    at engineering.divine.repository.Repository.listRepositoriesToUpdate(Repository.java:130) 
    at engineering.divine.daemon.RepositoryAnalysisDaemon.run(RepositoryAnalysisDaemon.java:24) 
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
    at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) 
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) 
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at java.lang.Thread.run(Thread.java:745) 
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:422) 
    at org.janusgraph.util.system.ConfigurationUtil.instantiate(ConfigurationUtil.java:58) 
    ... 18 more 
Caused by: org.janusgraph.diskstorage.TemporaryBackendException: Temporary failure in storage backend 
    at org.janusgraph.diskstorage.cassandra.astyanax.AstyanaxStoreManager.ensureKeyspaceExists(AstyanaxStoreManager.java:590) 
    at org.janusgraph.diskstorage.cassandra.astyanax.AstyanaxStoreManager.<init>(AstyanaxStoreManager.java:302) 
    ... 23 more 
Caused by: com.netflix.astyanax.connectionpool.exceptions.PoolTimeoutException: PoolTimeoutException: [host=127.0.0.1(127.0.0.1):9160, latency=10003(10003), attempts=1]Timed out waiting for connection 
    at com.netflix.astyanax.connectionpool.impl.SimpleHostConnectionPool.waitForConnection(SimpleHostConnectionPool.java:231) 
    at com.netflix.astyanax.connectionpool.impl.SimpleHostConnectionPool.borrowConnection(SimpleHostConnectionPool.java:198) 
    at com.netflix.astyanax.connectionpool.impl.RoundRobinExecuteWithFailover.borrowConnection(RoundRobinExecuteWithFailover.java:84) 
    at com.netflix.astyanax.connectionpool.impl.AbstractExecuteWithFailoverImpl.tryOperation(AbstractExecuteWithFailoverImpl.java:117) 
    at com.netflix.astyanax.connectionpool.impl.AbstractHostPartitionConnectionPool.executeWithFailover(AbstractHostPartitionConnectionPool.java:352) 
    at com.netflix.astyanax.thrift.ThriftClusterImpl.executeSchemaChangeOperation(ThriftClusterImpl.java:146) 
    at com.netflix.astyanax.thrift.ThriftClusterImpl.internalCreateKeyspace(ThriftClusterImpl.java:321) 
    at com.netflix.astyanax.thrift.ThriftClusterImpl.addKeyspace(ThriftClusterImpl.java:294) 
    at org.janusgraph.diskstorage.cassandra.astyanax.AstyanaxStoreManager.ensureKeyspaceExists(AstyanaxStoreManager.java:585) 
    ... 24 more 

私もすでにポートを試してみたが127.0.0.1:9160,127.0.0.1:9042,127.0.0.1:7000および127.0.0.1:7199。私はここで何が欠けていますか?

答えて

3

cassandracassandrathriftバックエンドは、Cassandra 3.11.1ではデフォルトで有効になっていないThriftを使用します。スレーブを有効にするには、cassandra.yamlstart_rpc: trueを設定するか、コマンドラインでnodetool enablethriftを設定します。

JanusGraph 0.2.0以降を使用している場合は、ネイティブCQLプロトコルを使用するCQLストレージアダプタを使用できます。 storage.backendcqlに設定すると、これを行うことができます。 JanusGraph configuration referenceのCQLオプションの詳細を読む。

+1

ありがとう、ジェイソン。それは今働く。 'nodetool enablethrift'にタイプミスがあることに注意してください;) –

関連する問題