JanusGraph安装服务器模式

环境信息:

  1. Centos 7
  2. Java 8
  3. HBase 2.2.4
  4. ElasticSearch 7.6.1
  5. JanusGraph 0.5.2

基于上一篇博文《JanusGraph本地安装》的配置进行修改,即可实现远程服务器模式。

一、复制conf/janusgraph-hbase-es.properties到conf/gremlin-server/目录下

修改名字以便识别

cp conf/janusgraph-hbase-es.properties conf/gremlin-server/janusgraph-hbase-es-server.properties

二、复制conf/gremlin-server/gremlin-server.yaml

修改名字以便识别

cp conf/gremlin-server/gremlin-server.yaml conf/gremlin-server/ws-http-gremlin-server.yaml

三、修改配置文件

vi conf/gremlin-server/ws-http-gremlin-server.yaml
# 配置项
host: 0.0.0.0 # 服务器节点IP地址,根据当前机器和网络环境实际情况填写
port: 8182
scriptEvaluationTimeout: 30000
channelizer: org.apache.tinkerpop.gremlin.server.channel.WsAndHttpChannelizer # 同时支持Websocket 和 http 模式连接
graphs: {
  graph: conf/gremlin-server/janusgraph-hbase-es-server.properties // 图后端配置
}

四、启动服务端

sh bin/gremlin-server.sh ./conf/gremlin-server/ws-http-gremlin-server.yaml

五、客户端连接

1. 修改remote.yaml

hosts: [localhost] # 根据填写服务器IP

2. 启动客户端

sh bin/gremlin.sh

3. 连接服务器

gremlin> :remote connect tinkerpop.server conf/remote.yaml # 连接服务器端
gremlin> :remote console 
gremlin> graph # 加载图
gremlin> g # 相当于 g = graph.traversal()
gremlin> saturn = g.V().has('name', 'saturn').next()
==>v[4304]

六、JAVA客户端

1. 创建maven项目,编辑pom.xml

<dependency>
    <groupId>org.janusgraph</groupId>
    <artifactId>janusgraph-driver</artifactId>
    <version>0.5.2</version>
</dependency>
<dependency>
    <groupId>org.apache.tinkerpop</groupId>
    <artifactId>gremlin-driver</artifactId>
    <version>3.4.8</version>
</dependency>

2. 增加配置文件

在resources下创建

conf/remote-graph.properties 文件

gremlin.remote.remoteConnectionClass=org.apache.tinkerpop.gremlin.driver.remote.DriverRemoteConnection
gremlin.remote.driver.clusterFile=conf/remote-objects.yaml
gremlin.remote.driver.sourceName=g

conf/remote-objects.yaml 文件

hosts: [ 0.0.0.0 ] // 服务端IP
port: 8182
serializer: {
  className: org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV1d0,
  config: {
    ioRegistries: [ org.janusgraph.graphdb.tinkerpop.JanusGraphIoRegistry ]
  }
}

3. 编写代码

package org.example;

import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;

import static org.apache.tinkerpop.gremlin.process.traversal.AnonymousTraversalSource.traversal;


public class App 
{
    public static void main( String[] args ) throws Exception {
        GraphTraversalSource g = traversal().withRemote("conf/remote-graph.properties");
        Object herculesAge = g.V().has("name", "hercules").values("age").next();
        System.out.println("Hercules is " + herculesAge + " years old.");
    }
}

 4. 输出结果

Hercules is 30 years old.

七、参考资料

https://github.com/JanusGraph/janusgraph/blob/master/docs/basics/server.md

https://github.com/JanusGraph/janusgraph/blob/master/docs/connecting/java.md

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值