背景
對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
}
總結
後來經過排查時,對於上述問題,其實服務端的日誌會有更詳細的原因說明,所以看系統日誌或許比查資料更靠譜。如下: