猿问

使用JanusGraph Java API和HBase时出现TemporaryBackend

我正在使用JanusGraph Java API,并将HBase作为存储后端


我必须提到的一件事是,我可以在JanusGraph shell中成功运行相同的命令, gremlin.sh


错误前的日志如下,该错误发生在打开图形实例的过程中, JanusGraphFactory.open(jg.properties)


07:20:46.169 [main-SendThread(cdh-master1:2181)] DEBUG org.apache.zookeeper.ClientCnxn - 

Reading reply sessionid:0x263f89ba9d56ce2, 

packet:: clientPath:null serverPath:null finished:false header:: 3,8  replyHeader:: 3,55834924519,0  

request:: '/hbase,F  response:: v{'replication,'meta-region-server,'rs,'splitWAL,'backup-masters,

'table-lock,'flush-table-proc,'region-in-transition,'online-snapshot,'master,'running,'recovering-regions,'draining,'namespace,'hbaseid,'table} 

07:20:46.182 [main] WARN  o.j.d.hbase.HBaseStoreManager - Unexpected exception during getDeployment()

错误是


java.lang.RuntimeException: org.janusgraph.diskstorage.TemporaryBackendException: Temporary failure in storage backend

at org.janusgraph.diskstorage.hbase.HBaseStoreManager.getDeployment(HBaseStoreManager.java:364) ~[jar:rsrc:janusgraph-hbase-0.2.0.jar!/:na]

at org.janusgraph.diskstorage.hbase.HBaseStoreManager.getFeatures(HBaseStoreManager.java:403) ~[jar:rsrc:janusgraph-hbase-0.2.0.jar!/:na]

at org.janusgraph.graphdb.configuration.GraphDatabaseConfiguration.<init>(GraphDatabaseConfiguration.java:1377) [jar:rsrc:janusgraph-core-0.2.0.jar!/:na]

at org.janusgraph.core.JanusGraphFactory.open(JanusGraphFactory.java:164) [jar:rsrc:janusgraph-core-0.2.0.jar!/:na]

at org.janusgraph.core.JanusGraphFactory.open(JanusGraphFactory.java:133) [jar:rsrc:janusgraph-core-0.2.0.jar!/:na]

at org.janusgraph.core.JanusGraphFactory.open(JanusGraphFactory.java:80) [jar:rsrc:janusgraph-core-0.2.0.jar!/:na]

我不知道这个TemporaryBackendException,以前有没有人见过这个?


janusgraph配置的一部分是


gremlin.graph=org.janusgraph.core.JanusGraphFactory

cluster.max-partitions=64

storage.backend=hbase

storage.batch-loading=true

storage.hostname=cdh-master1,cdh-master2,cdh-master3

cdh-master1,2,3Zookeeper仲裁在哪里,版本JanusGraph 2.0,HBase 1.2


萧十郎
浏览 745回答 1
1回答

子衿沉夜

我以前在这里发布了答案:这是一个番石榴版本冲突问题。由于列出了特定的依存关系以及这些依存关系的顺序,因此JanusGraph HBase示例不会遇到Guava版本错误。&nbsp; &nbsp; <dependency>&nbsp; &nbsp; &nbsp; &nbsp; <groupId>org.janusgraph</groupId>&nbsp; &nbsp; &nbsp; &nbsp; <artifactId>janusgraph-hbase</artifactId>&nbsp; &nbsp; &nbsp; &nbsp; <version>${project.version}</version>&nbsp; &nbsp; &nbsp; &nbsp; <scope>runtime</scope>&nbsp; &nbsp; </dependency>&nbsp; &nbsp; <dependency>&nbsp; &nbsp; &nbsp; &nbsp; <groupId>org.apache.hbase</groupId>&nbsp; &nbsp; &nbsp; &nbsp; <artifactId>hbase-shaded-client</artifactId>&nbsp; &nbsp; &nbsp; &nbsp; <version>${hbase100.version}</version>&nbsp; &nbsp; &nbsp; &nbsp; <scope>runtime</scope>&nbsp; &nbsp; </dependency>请注意的用法hbase-shaded-client(已在Issue#512中修复),而不是hbase-client在pom.xml具有可与HBase一起使用的阴影版本的Guava的情况下使用。阴影重命名了某些依赖项的包名称,这使您可以在类路径上使用不同版本的Guava,而不会引起冲突。Gremlin控制台使用hbase-shaded-client还,您可以lib在分发目录中找到该jar 。
随时随地看视频慕课网APP

相关分类

Java
我要回答