问题(编号:E07)
接上次,用hbase+solr配置启动打开graph图,graph = JanusGraphFactory.open之后 先是一个疏忽导致的异常,Could not instantiate implementation: org.janusgraph.diskstorage.solr.SolrIndex:

报错提示是未识别的模式: Unrecognized mode: manager93.bigdata,检查发现这是我误填写的一个solr服务域名,顺藤摸瓜找到这个配置是index.search.solr.mode将其更改为cloud。

解决方案
定位
仔细看了一下报错日志:

WARN WARN WARN 警告也是要看的!
解法
这里是初始化图的时候报错,图中并没有数据(因此可以删库)。但提示本地配置被全局配置覆盖了,那么把之前(错误的)全局配置删除即可。因为整个JanusGraph文件夹都是我重装过的,那么这个配置显然是写在hbase中。进入hbase shell查看,果然存在janusgraph_solr这张表,drop掉这张表,再去启动,问题解决。
第一次报错时图虽然未创建成功,但hbase中的表已创建了!
顺道了解一下配置级别:
JanusGraph的配置级别
每个配置项都有一个特定的可变级别,该可变级别决定了在第一次打开数据库后是否以及如何对其进行修改。以下清单描述了可变级别:
- FIXED:打开数据库后,就无法在数据库的整个生命周期内更改这些配置选项
- GLOBAL_OFFLINE:当所有实例关闭时,在整个数据库集群更改这些选项,需要重启
- GLOBAL:这些选项只能在整个数据库集群中全局更改
- MASKABLE:这些选项是全局的,但可以被本地配置文件覆盖
- LOCAL:这些选项只能通过本地配置文件提供
以上非本地配置变更方法详参官网。
JanusGraph问题与解决系列目录:
JanusGraph问题笔记(二):SchemaViolationException
JanusGraph问题笔记(三):NoNodeException(hbase)