JanusGraph问题笔记-本地配置不生效?

问题

接上次,用hbase+solr配置启动打开graph图,graph = JanusGraphFactory.open以后 先是一个疏忽致使的异常,Could not instantiate implementation: org.janusgraph.diskstorage.solr.SolrIndex: shell

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

而后诡异的问题就出现了:重开graph仍报错Unrecognized mode: manager93.bigdata,但 本地配置文件确实改了,哪怕我把整个JanusGraph文件夹及配置文件删除,从新解压写上正确的配置都无论用

解决方案

定位

仔细看了一下报错日志:post

(扶额!)错误虽然是同样的错,但前面的警告信息说明了问题:Local setting index.search.solr.mode=cloud (Type: GLOBAL_OFFLINE) is overridden by globally managed value (manager93.bigdata),是本地配置被全局配置覆盖了。

WARN WARN WARN 警告也是要看的! 日志

解法

这里是初始化图的时候报错,图中并无数据(所以能够删库)。但提示本地配置被全局配置覆盖了,那么把以前(错误的)全局配置删除便可。由于整个JanusGraph文件夹都是我重装过的,那么这个配置显然是写在hbase中。进入hbase shell查看,果真存在janusgraph_solr这张表,drop掉这张表,再去启动,问题解决。code

第一次报错时图虽然未建立成功,但hbase中的表已建立了!cdn

顺道了解一下配置级别:blog

JanusGraph的配置级别

每一个配置项都有一个特定的可变级别,该可变级别决定了在第一次打开数据库后是否以及如何对其进行修改。如下清单描述了可变级别:生命周期

  • FIXED:打开数据库后,就没法在数据库的整个生命周期内更改这些配置选项
  • GLOBAL_OFFLINE:当全部实例关闭时,在整个数据库集群更改这些选项,须要重启
  • GLOBAL:这些选项只能在整个数据库集群中全局更改
  • MASKABLE:这些选项是全局的,但能够被本地配置文件覆盖
  • LOCAL:这些选项只能经过本地配置文件提供

以上非本地配置变动方法详参官网。get

JanusGraph问题与解决系列目录:

JanusGraph问题笔记-目录(文末)域名

JanusGraph问题笔记(二):SchemaViolationException

JanusGraph问题笔记(三):NoNodeException(hbase)

JanusGraph问题笔记(四):ResponseException(ES)

JanusGraph问题笔记(五):本地配置更改未生效?

相关文章
相关标签/搜索