titan-1.0.0-hadoop1与apache-cassandra-3.2

时间:2016-01-18 03:06:02

标签: cassandra graph-databases cassandra-2.0 titan

我正在尝试将 titan-1.0.0-hadoop1 apache-cassandra-3.2 连接起来。

我正在使用以下" titan-cassandra-myfile.properties":

storage.cassandra-config-dir=titan-1.0.0-   hadoop1/conf/cassandra/cassandra.yaml
storage.backend=cassandra
storage.hostname=localhost

当我使用gremlin执行以下命令时: g=TitanFactory.open("/path to titan/ titan-1.0.0-hadoop1/conf/titan-cassandra-myfile.properties");

我收到以下错误:

  

java.lang.IllegalArgumentException:无法实例化实现:com.thinkaurelius.titan.diskstorage.cassandra.astyanax.AstyanaxStoreManager           在com.thinkaurelius.titan.util.system.ConfigurationUtil.instantiate(ConfigurationUtil.java:55)       在com.thinkaurelius.titan.diskstorage.Backend.getImplementationClass(Backend.java:473)       在com.thinkaurelius.titan.diskstorage.Backend.getStorageManager(Backend.java:407)       at com.thinkaurelius.titan.graphdb.configuration.GraphDatabaseConfiguration。(GraphDatabaseConfiguration.java:1320)       在com.thinkaurelius.titan.core.TitanFactory.open(TitanFactory.java:94)       在com.thinkaurelius.titan.core.TitanFactory.open(TitanFactory.java:62)       在com.thinkaurelius.titan.core.TitanFactory $ open.call(未知来源)       在org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)       在org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:110)       在org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:122)       在groovysh_evaluate.run(groovysh_evaluate:3)       在org.codehaus.groovy.vmplugin.v7.IndyInterface.selectMethod(IndyInterface.java:215)       在org.codehaus.groovy.tools.shell.Interpreter.evaluate(Interpreter.groovy:69)       在org.codehaus.groovy.tools.shell.Groovysh.execute(Groovysh.groovy:185)       在org.codehaus.groovy.tools.shell.Shell.leftShift(Shell.groovy:119)       在org.codehaus.groovy.tools.shell.ShellRunner.work(ShellRunner.groovy:94)       在org.codehaus.groovy.tools.shell.InteractiveShellRunner.super $ 2 $ work(InteractiveShellRunner.groovy)       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)       在java.lang.reflect.Method.invoke(Method.java:497)       在org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)       at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:324)       at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1207)       at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:130)       在org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuper0(ScriptBytecodeAdapter.java:150)       在org.codehaus.groovy.tools.shell.InteractiveShellRunner.work(InteractiveShellRunner.groovy:123)       在org.codehaus.groovy.tools.shell.ShellRunner.run(ShellRunner.groovy:58)       在org.codehaus.groovy.tools.shell.InteractiveShellRunner.super $ 2 $ run(InteractiveShellRunner.groovy)       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)       在java.lang.reflect.Method.invoke(Method.java:497)       在org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)       at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:324)       at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1207)       at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:130)       在org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuper0(ScriptBytecodeAdapter.java:150)       在org.codehaus.groovy.tools.shell.InteractiveShellRunner.run(InteractiveShellRunner.groovy:82)       在org.codehaus.groovy.vmplugin.v7.IndyInterface.selectMethod(IndyInterface.java:215)       在org.apache.tinkerpop.gremlin.console.Console。(Console.groovy:144)       在org.codehaus.groovy.vmplugin.v7.IndyInterface.selectMethod(IndyInterface.java:215)       在org.apache.tinkerpop.gremlin.console.Console.main(Console.groovy:303)       引起: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)       在com.thinkaurelius.titan.util.system.ConfigurationUtil.instantiate(ConfigurationUtil.java:44)       ......还有42个       引起:com.thinkaurelius.titan.diskstorage.TemporaryBackendException:存储后端暂时失败       在com.thinkaurelius.titan.diskstorage.cassandra.astyanax.AstyanaxStoreManager.ensureKeyspaceExists(AstyanaxStoreManager.java:572)       在com.thinkaurelius.titan.diskstorage.cassandra.astyanax.AstyanaxStoreManager。(AstyanaxStoreManager.java:291)       ......还有47个       引起:com.netflix.astyanax.connectionpool.exceptions.PoolTimeoutException:PoolTimeoutException:[host = localhost(127.0.0.1):9160,latency = 10000(10000),attempts = 1]超时等待连接       在com.netflix.astyanax.connectionpool.impl.SimpleHostConnectionPool.waitForConnection(SimpleHostConnectionPool.java:231)       在com.netflix.astyanax.connectionpool.impl.SimpleHostConnectionPool.borrowConnection(SimpleHostConnectionPool.java:198)       在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)       在com.netflix.astyanax.thrift.ThriftClusterImpl.executeSchemaChangeOperation(ThriftClusterImpl.java:146)       在com.netflix.astyanax.thrift.ThriftClusterImpl.internalCreateKeyspace(ThriftClusterImpl.java:321)       在com.netflix.astyanax.thrift.ThriftClusterImpl.addKeyspace(ThriftClusterImpl.java:294)       在com.thinkaurelius.titan.diskstorage.cassandra.astyanax.AstyanaxStoreManager.ensureKeyspaceExists(AstyanaxStoreManager.java:567)       ......还有48个   ```

当我使用与 apache-cassandra-1.2.5 titan-all-0.3.1 相同的配置时,上述配置可以正常工作并创建图表。< / p>

请就此提出一些解决方案,无论是兼容性问题还是我做错了。

谢谢, Laxmikant

1 个答案:

答案 0 :(得分:4)

已经使用 Cassandra 2.1.9 发布了

Titan 1.0 。我几乎可以肯定它与 Cassandra 3.x 不兼容,因为有一个存储引擎重写

见这里:https://github.com/thinkaurelius/titan/blob/titan10/pom.xml#L65