JanusGraph Server搭建(Hbase-Solr)

1 JanusGraph Server环境准备
1.1 JDK安装
1.2 存储及索引所需集群安装
1.2.1 安装Hbase
1.2.2 安装Solr
1.3 检查防火墙
1.3.1 确认防火墙的运行状态
1.3.2 关闭防火墙
2 JanusGraph Server安装
2.1 JanusGraph安装
2.2 JanusGraph测试
2.3 JanusGraph Server配置
2.3.1 创建JanusGraph Server的配置文件
2.3.2 配置janusgraph-hbase-solr-server.properties文件
2.3.3 配置 JanusGraph Server的启动YAML
2.4 启动JanusGraph Server
2.5 测试JanusGraph Server

1 JanusGraph Server环境准备

1.1 JDK安装

请安装jdk1.8以上版本。
JanusGraph需要jdk版本在1.8以上。

1.2 存储及索引所需集群安装

JanusGraph的运行需要存储集群的支撑,为了实现高效的查询,还需要索引的集群的支撑。

1.2.1 安装Hbase

请参照Hbase安装步骤。

1.2.2 安装Solr

请参照Solr安装步骤。

1.3 检查防火墙

1.3.1 确认防火墙的运行状态

执行如下命令:
$ service iptables status
如果出现
iptables未运行防火墙或相关英语未运行描述
则说明防火墙关闭了。

1.3.2 关闭防火墙

通过执行如下命令:
$ service iptables stop
$ chkconfig --level 345 iptables off
将防火墙关闭。

2 JanusGraph Server安装

2.1 JanusGraph安装

将 janusgraph-0.2.0-hadoop2.zip 安装包上传至服务器,并解压缩。
$ unzip janusgraph-0.2.0-hadoop2.zip

2.2 JanusGraph测试

通过执行如下命令:
$ cd janusgraph-0.2.0-hadoop2
$ bin/gremlin.sh
如果可以执行如下gremlin命令,则说明JanusGraph安装成功。
$ gremlin>100-10
==>90
$ gremlin> "JanusGraph:" + " The Rise of Big Graph Data"
==>JanusGraph: The Rise of Big Graph Data
$ gremlin> [name:'aurelius', vocation:['philosopher', 'emperor']]
==>name=aurelius==>vocation=[philosopher, emperor]
 

2.3 JanusGraph Server配置

2.3.1 创建JanusGraph Server的配置文件

2.3.1.1 创建janusgraph-hbase-solr-server.properties文件

执行如下命令在$JANUSGRAPH_HOME/conf/gremlin-server下创建
janusgraph-hbase-solr-server.properties文件。
$ cd $JANUSGRAPH_HOME
$ cp conf/janusgraph-hbase-solr.properties
conf/gremlin-server/janusgraph-hbase-solr-server.properties
 

2.3.1.2 创建janusgraph-gremlin-server.yaml文件

执行如下命令
在$JANUSGRAPH_HOME/conf/gremlin-server下
创建janusgraph-gremlin-server.yaml文件。
$ cd $JANUSGRAPH_HOME
$ cp conf/gremlin-server/gremlin-server.yaml
conf/gremlin-server/janusgraph-gremlin-server.yaml
 

2.3.2 配置janusgraph-hbase-solr-server.properties文件

确保 janusgraph-hbase-solr-server.properties中包含如下行
gremlin.graph=org.janusgraph.core.JanusGraphFactory
若不存在,则添加至该文件中。

2.3.2.1 配置JanusGraph Server的Storge Backend

打开janusgraph-hbase-solr-server.properties文件,配置如下属性
storage.backend=hbase
storage.hostname=192.168.251.160,192.168.251.161,192.168.251.162
storage.hbase.table=search
storge.hostname: hbase的zookeeper地址
storge.hbase.table: hbase的表名, 默认值为janusgraph

2.3.2.2 配置JanusGraph Server的Index Backend

1> 打开janusgraph-hbase-solr-server.properties文件 ,配置如下属性
index.search.backend=solr
index.search.solr.mode=cloud
index.search.solr.zookeeper-url=localhost:2181
index.search.solr.configset=janusgraph-configset
index.x.solr.configset的值需要与solr建表指定的配置文件名保持一致 
2> 上传solr配置文件至zookeeper
执行以下命令将solr配置文件上传至zookeeper
$ SOLR_HOME/server/scripts/cloud-scripts/zkcli.sh
-cmd upconfig -z localhost:2181
-d $JANUSGRAPH_HOME/conf/solr -n janusgraph-configset
-z: solr的zookeeper地址
-d: 本地配置文件路径
-n:zookeeper上的配置文件名
3> 创建collecion
以graph的创建为例,在本地浏览器输入地址:
http://172.16.6.4:8983/solr/admin/collections?action=CREATE&name=graph&numShards=3&replicationFactor=1&maxShardsPerNode=1&property.dataDir=/data/solr/graph&collection.configName=janusgraph-configset&createNodeSet=172.16.6.4:8983_solr,172.16.6.6:8983_solr,172.16.6.7:8983_solr
其中:
numShards=3为graph表使用3个分片;
replicationFactor=1为graph表每个分片不设定副本;
maxShardsPerNode=1为graph表一个节点上的最大分片数为1;
property.dataDir=/data/solr/graph为索引数据存放目录;
collection.configName=schema为graph使用的配置文件目录为 janusgraph-configset;
createNodeSet=172.16.6.4:8983_solr,172.16.6.6:8983_solr,172.16.6.7:8983_solr
为graph表使用172.16.6.4、172.16.6.6、172.16.6.7三个节点创建分片。
 

2.3.3 配置 JanusGraph Server的启动YAML

 打开janusgraph-gremlin-server.yaml文件,配置如下属性
graphs: {
  graph: conf/gremlin-server/janusgraph-hbase-solr-server.properties}
 

 2.4 启动JanusGraph Server

执行如下命令启动JanusGraph Server
$ cd $JANUSGRAPH_HOME
$ bin/gremlin-server.sh ./conf/gremlin-server/janusgraph-gremlin-server.yaml

2.5 测试JanusGraph Server

1> 配置远程连接conf/remote.yaml文件
$ vim $JANUSGRAPH_HOME/conf/remote.yaml
将JanusGraph Server的IP的配置到该文件中

2> 启动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
:> 命令表示请求远程服务器

你可能感兴趣的:(JanusGraph Server搭建(Hbase-Solr))