背景
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
查询语句了,如下:
注意如上:
当使用这种方式创建时,不带
:> 和带
:>是有区别的,不带的话,同样的语句,会提示警告查询会遍历所有的有顶点。