背景
janusgraph的資料比較少,而且比較散,所以筆者在這裏,統一一下。JanusGraph有很多種連接的方式,以下將會通過從gremlin console
及Java的客戶端的方式一一介紹。
通過Gremlin console連接
在連接之前,首先把配置好gremlin server
的服務並啓動。
如下,因爲我搭建的是集羣環境,所以指定了多個hosts。
分別啓動192.168.1.244,192.168.1.245,192.168.1.246
三個節點的gremlin-server
服務。
以下是192.168.1.244
的啓動例子:
cd ${janusgraph}
./bin/gremlin-server.sh ./conf/gremlin-server/gremlin-server.yaml > gremlin-server.log &
remote方式
因爲連接時還需要指定一個remote.yaml
文件,所以還需要配置remote.yaml
,這裏我們可以修改目錄${JansGraph}/conf/remote.yaml
文件即可,如筆者修改後的內容如下:
hosts: [192.168.1.244,192.168.1.245,192.168.1.246]
port: 8182
serializer: { className: org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV3d0, config: { serializeResultToString: true }}
gremlin-server.yaml
文件配置,這裏就不在闡述了,如果有需要請參考我的JanusGraph安裝的博文。
最後是載登陸到gremlin console
,然後remote
, 如下:
cd ${janusgraph}
:remote connect tinkerpop.server conf/remote.yaml
此外注意,當使用了remote方式後,發送gremlin查詢命令時,得加上:>
符號。
如下:
通過JanusGraphFactory對象創建
JanusGraphFactory的open方法,可以指定一個配置文件,而該配置文件就是啓動gremlin server
時,${janusgraph}/conf/gremlin-server/gremlin-server.yaml
中graph
配置中指定的文件。
連接操作如下:
graph = JanusGraphFactory.open('conf/janusgraph-hbase-es.properties')
g = graph.traversal()
此時因爲獲取到g
對象了,所以在查詢數據時,不需要用:>
關鍵符號發送gremlin
查詢語句了,如下:
注意如上:
當使用這種方式創建時,不帶
:> 和帶
:>是有區別的,不帶的話,同樣的語句,會提示警告查詢會遍歷所有的有頂點。