JanusGraph使用过程中的问题

14 篇文章 1 订阅
14 篇文章 1 订阅

1. 背景

JanusGraph的资料比较少,而且大家也都不愿意将成果贡献出来,所以打算将一些知识汇总,然后挖掘。现准备此帖,来收录大家的遇到的问题。如果有没收录的,希望看到的同学能留言,经确认或解决后,均会更新。提供问题格式如下:

JanusGraph版本:0.4.0
JanusGraph部署模式:janusgraph-server * 1 + hbase * 3 (独立环境) + elasticsearch * 3 (独立环境)
jdk版本:jdk1.8
操作类型:环境搭建/数据录入/查询
具体问题:

2. 问题或缺陷

2.1 环境搭建

2.2 数据录入

问题1: 在向janusgraph中导入节点的时候出现: java.util.concurrent.CompletionException: org.apache.tinkerpop.gremlin.driver.exception.ResponseException: Vertex Label with given name does not exist: LawItem
这个问题是因为禁用了自动创建schema,而图中没有对应的schema,所以报错。检查在properties配置文件中是否有:schema.default=none。
即使没有配置这个配置项,如果你配置了storage.batch-loading=true,系统也会默认 禁用了自动创建schema

(持续更新中)

2.3 查询

问题1:查询节点或节点数量时出现如下错: WARN org.janusgraph.graphdb.transaction.StandardJanusGraphTx - Query requires iterating over all vertices [()]. For better performance, use indexes
这个问题,是在进行gremlin查询时,会遍历所有的顶点,如下操作:
仅仅是查询两条边的数据,也要等很长时间。
在这里插入图片描述
可以配置文件中在配置文件中配置强制使用索引,force-index=true,不过笔者在配置了之后,并没有什么卵用,还需要待验证

(持续更新中)

2.4 概念

缺陷1:并没有实现事务,无论是hbase还是solr均不支持事务,janusGraph只是号称说支持事务。

缺陷2:没有发挥MPP思想,一个计算节点负责所有的图遍历。存储层hbase分布式化了,但自身计算节点并没有分布式化。janusGraph把hbase当做黑盒,纯客户端,图遍历拉取所有数据,没有深入定制到表格存储里面,这也是可预见可修改的地方。

缺陷3:gremlin-server单机运算处理能力有限,势必要水平扩展,但core包中使用了有很多cache,有状态的,集群模式下要考虑内存状态一致性问题。

缺陷4:当后端存储为HBase时,导入性能还有待提升。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值