JanusGraph端查詢異常:exception.ResponseException: gremlin-groov y is not an avilable GremlinScriptEngine

背景

對janusgraph的各個方面進行調研,包括性能測試,當然首先得把環境搭建起來。然後將數據錄入進去,但當數據錄入完後,在進行查詢時報錯了。網上的資料很少,對於這個JanusGraph的研究,其實加了一個社羣的人並不少,只是對於這個項技術的調研分享個人覺得大家都太過封閉了,所以還是靠自己吧,有了一些研究成果,在接下來的一段時間裏會慢慢公佈。
不得不吐槽一下,網上大部分的資料都是互相抄的,而且版本比較低。都是好幾年前的東西了。
好了,迴歸到話題。
在這裏插入圖片描述

解決辦法

嘗試一

因爲對於JanusGraph在過陌生,對於報錯,是相當的懼。然後上Google找資料,說是把${JanusGraphPath}/conf/gremlin-server/gremlin-server.yaml配置文件中的org.apache.tinkerpop.gremlin.jsr223.ScriptFileGremlinPlugin: {files: [scripts/empty-sample.groovy]}配置刪除,但會啓動失敗。
會報如下錯:javax.script.ScriptException: javax.script.ScriptException: groovy.lang.MissingPropertyException: No such property: graph for class: Script2
在這裏插入圖片描述

嘗試二

再資料無果,突然想到,既然java客戶端訪問會報錯,通過gremlin-console再訪問gremlin-server應該也會報錯。嘗試了兩種連接gremlin-server的方法,發現如下這種纔不會報錯,另一種會。
graph = JanusGraphFactory.open('conf/janusgraph-hbase-es.properties')
於是再次仔細檢查 了conf/gremlin-server/gremlin-server.yaml配置文件,發現配置錯了。

graphs: {
  graph: conf/gremlin-server/janusgraph-hbase-es.properties
}

該目錄下janusgraph-hbase-es.properties文件是不存在的,也就是路徑錯了。
最後修改如下:

graphs: {
  graph: conf/janusgraph-hbase-es.properties
}

總結

後來經過排查時,對於上述問題,其實服務端的日誌會有更詳細的原因說明,所以看系統日誌或許比查資料更靠譜。如下:
在這裏插入圖片描述

發佈了36 篇原創文章 · 獲贊 18 · 訪問量 21萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章