JanusGraph 与 Hbase 2.0.x 与 2.1.x
JanusGraph with Hbase 2.0.x with 2.1.x
我在想办法用 Hbase 2.0.x 或 2.1.x
插入 janusGraph
我在 https://github.com/JanusGraph/janusgraph/issues/915 中看到它在 0.3.1 版本中是可能的,但默认情况下没有启用。
我已经尝试测试它,我在创建 hbase 表的过程中卡住了:
Exception in thread "main" java.lang.NoSuchMethodError: org.apache.hadoop.hbase.client.Admin.createTable(Lorg/apache/hadoop/hbase/HTableDescriptor;)V
at org.janusgraph.diskstorage.hbase.HBaseAdmin1_0.createTable(HBaseAdmin1_0.java:117)
at org.janusgraph.diskstorage.hbase.HBaseStoreManager.createTable(HBaseStoreManager.java:780)
at org.janusgraph.diskstorage.hbase.HBaseStoreManager.ensureTableExists(HBaseStoreManager.java:744)
at org.janusgraph.diskstorage.hbase.HBaseStoreManager.getLocalKeyPartition(HBaseStoreManager.java:536)
at org.janusgraph.diskstorage.hbase.HBaseStoreManager.getDeployment(HBaseStoreManager.java:375)
at org.janusgraph.diskstorage.hbase.HBaseStoreManager.getFeatures(HBaseStoreManager.java:417)
at org.janusgraph.graphdb.configuration.GraphDatabaseConfiguration.(GraphDatabaseConfiguration.java:1256)
at org.janusgraph.core.JanusGraphFactory.open(JanusGraphFactory.java:160)
at org.janusgraph.core.JanusGraphFactory.open(JanusGraphFactory.java:131)
at org.janusgraph.core.JanusGraphFactory.open(JanusGraphFactory.java:121)
at org.janusgraph.core.JanusGraphFactory$Builder.open(JanusGraphFactory.java:260)
如何启用 Hbase 2.0 支持?
这是我的代码示例:
public static void main(String[] args) throws BackendException {
JanusGraph graph = JanusGraphFactory.build()
.set("storage.backend", "hbase")
.set("gremlin.graph", "org.janusgraph.core.JanusGraphFactory")
.set("storage.hostname", "vmdev")
.set("cache.db-cache", "true")
.set("cache.db-cache-clean-wait","20")
.set("cache.db-cache-time","180000")
.set("cache.db-cache-size", "0.5").open();
GraphTraversalSource g = graph.traversal();
if (g.V().count().next() == 0) {
tracer.info("empty graph, building DM");
buildDM(graph);
}
System.exit(0);
}
您是否尝试使用最新版本?最新发行说明指出,它们支持 HBase 2.1 https://docs.janusgraph.org/latest/version-compat.html
关于 2.0 我不确定,但我会测试它。我的同事声称,我们之前有过一些针对 HBase 2.0 的运行,它有效...
我在想办法用 Hbase 2.0.x 或 2.1.x
插入 janusGraph我在 https://github.com/JanusGraph/janusgraph/issues/915 中看到它在 0.3.1 版本中是可能的,但默认情况下没有启用。
我已经尝试测试它,我在创建 hbase 表的过程中卡住了:
Exception in thread "main" java.lang.NoSuchMethodError: org.apache.hadoop.hbase.client.Admin.createTable(Lorg/apache/hadoop/hbase/HTableDescriptor;)V at org.janusgraph.diskstorage.hbase.HBaseAdmin1_0.createTable(HBaseAdmin1_0.java:117) at org.janusgraph.diskstorage.hbase.HBaseStoreManager.createTable(HBaseStoreManager.java:780) at org.janusgraph.diskstorage.hbase.HBaseStoreManager.ensureTableExists(HBaseStoreManager.java:744) at org.janusgraph.diskstorage.hbase.HBaseStoreManager.getLocalKeyPartition(HBaseStoreManager.java:536) at org.janusgraph.diskstorage.hbase.HBaseStoreManager.getDeployment(HBaseStoreManager.java:375) at org.janusgraph.diskstorage.hbase.HBaseStoreManager.getFeatures(HBaseStoreManager.java:417) at org.janusgraph.graphdb.configuration.GraphDatabaseConfiguration.(GraphDatabaseConfiguration.java:1256) at org.janusgraph.core.JanusGraphFactory.open(JanusGraphFactory.java:160) at org.janusgraph.core.JanusGraphFactory.open(JanusGraphFactory.java:131) at org.janusgraph.core.JanusGraphFactory.open(JanusGraphFactory.java:121) at org.janusgraph.core.JanusGraphFactory$Builder.open(JanusGraphFactory.java:260)
如何启用 Hbase 2.0 支持?
这是我的代码示例:
public static void main(String[] args) throws BackendException {
JanusGraph graph = JanusGraphFactory.build()
.set("storage.backend", "hbase")
.set("gremlin.graph", "org.janusgraph.core.JanusGraphFactory")
.set("storage.hostname", "vmdev")
.set("cache.db-cache", "true")
.set("cache.db-cache-clean-wait","20")
.set("cache.db-cache-time","180000")
.set("cache.db-cache-size", "0.5").open();
GraphTraversalSource g = graph.traversal();
if (g.V().count().next() == 0) {
tracer.info("empty graph, building DM");
buildDM(graph);
}
System.exit(0);
}
您是否尝试使用最新版本?最新发行说明指出,它们支持 HBase 2.1 https://docs.janusgraph.org/latest/version-compat.html
关于 2.0 我不确定,但我会测试它。我的同事声称,我们之前有过一些针对 HBase 2.0 的运行,它有效...