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問題筆記(五):本地配置更改未生效?

相關文章
相關標籤/搜索