首页 > 代码库 > JanusGraph Server配置

JanusGraph Server配置

JanusGraph使用Gremlin Server engine作为服务器组件来处理和应答客户端查询,当Gremlin Server集成到JanusGraph,称为JanusGraph Server。
JanusGraph Server必须被手工启动,JanusGraph Server提供了远程执行Gremlin脚本的途径。该节描述了如何配置websocket连接以及如何配置JanusGraph Server接受REST 请求。

7.1 Getting Started

7.1.1 Using the Pre-Packaged Distribution

JanusGraph自带了一个可以开箱使用的JanusServer,里面集成了简化的cassandra和ES,不能作为生产环境,但可以用来学习使用JanusServer。该Janus Server是基于Websocket的,使用步骤如下:
  • 下载janusgraph-$version.zip文件
  • 解压
  • 运行bin/janusserver.sh start,该步骤将会启动Gremlin Server及Cassandra/ES到一个单独的进程。
 
启动之后即支持gremlin客户端通过websocket连接server,最常用的即为gremlin.sh shell。
$ bin/janusgraph.sh start
ForkingCassandra...
Running`nodetool statusthrift`.. OK (returned exit status 0 and printed string "running").
ForkingElasticsearch...
Connecting to Elasticsearch(127.0.0.1:9300)... OK (connected to 127.0.0.1:9300).
ForkingGremlin-Server...
Connecting to Gremlin-Server(127.0.0.1:8182)... OK (connected to 127.0.0.1:8182).
Run gremlin.sh to connect.

7.1.1.1 Connecting to Gremlin Server

当运行了janusserver之后,Gremlin Server已经做好准备接受socket连接,最简单的方式是使用gremlin console:、
 
使用bin/gremlin.sh 启动Gremlin Console,使用:remote命令连接远程服务器;使用:> 提交 gremlin语句。
$ bin/gremlin.sh
\,,,/
(o o)
-----oOOo-(3)-oOOo-----
plugin activated: tinkerpop.server
plugin activated: tinkerpop.hadoop
plugin activated: tinkerpop.utilities
plugin activated: janusgraph.imports
plugin activated: tinkerpop.tinkergraph
gremlin>:remote connect tinkerpop.server conf/remote.yaml
==>Connected- localhost/127.0.0.1:8182
gremlin>:> graph.addVertex("name","stephen")
==>v[256]
gremlin>:>g.V().values(‘name‘)
==>stephen
注意conf/remote.yaml是配置文件,指明了要连接的地址。

7.2 JanusGraph Server as WebSocket Endpoint

配置JanusGraph作为websocket服务器。
 
  • 首先测试本地配置是否真确,可以通过gremlin console测试或者通过程序测试。本地配置为./conf目录下的配置,这里选取了janusgraph-cassandra-es.properties 这一配置文件,需要注意的是,该配置文件中需要包含有:gremlin.graph=org.janusgraph.core.JanusGraphFactory
  • 一旦测试成功,将文件拷贝到./conf/gremlin-server目录下:cp conf/janusgraph-cassandra-es.properties conf/gremlin-server/socket-janusgraph-cassandra-es.properties
  • 将配置文件 ./conf/gremlin-server/gremlin-server.yaml 拷贝到新文件并命名为:socket-gremlin-server.yaml:cp conf/gremlin-server/gremlin-server.yaml conf/gremlin-server/socket-gremlin-server.yaml
  • 修改socket-gremlin-server.yaml文件
    • 如果不想通过localhost连接,则修改 host: 10.10.10.100
    • 将graph节指向最新的配置文件 
graphs:{
graph: conf/gremlin-server/socket-janusgraph-hbase-server.properties}
  •    启动janusgraph server,指定配置文件
bin/gremlin-server.sh ./conf/gremlin-server/socket-gremlin-server.yaml
注意:不要使用bin/janusgraph.sh,该shell将会启动一个预先配置好的GremlinServer。

7.3 JanusGraph Server as REST-style Endpoint

7.4 Advanced JanusGraph Server Configuration

7.4.1 WebSocket versus REST

JanusGraph server只能取REST或Websocket的一种,但可以配置两个服务分别接收不同类型的请求。    

7.4.2 Using TinkerPop Germlin Server with JanusGraph

JanusGraph sever本身集成了TinkerPop server,因此可以单独部署ThinkerPop Server并与JanusGraph集成。具体不表,详见官方文档。
 
 
 
 

JanusGraph Server配置