HugeGraph安装教程

一、HugeGraphServer Quick Start

1 概述
HugeGraph-Server 是 HugeGraph 项目的核心部分,包含Core、Backend、API等子模块。
Core模块是Tinkerpop接口的实现,Backend模块用于管理数据存储,目前支持的后端包括:Memory、Cassandra、ScyllaDB以及RocksDB,API模块提供HTTP Server,将Client的HTTP请求转化为对Core的调用。
文档中会大量出现HugeGraph-Server及HugeGraphServer这两种写法,其他组件也类似。这两种写法含义上并无大的差异,可以这么区分:HugeGraph-Server表示服务端相关组件代码,HugeGraphServer表示服务进程。

2 依赖
2.1 安装JDK-1.8
HugeGraph-Server 基于jdk-1.8开发,代码用到了较多jdk-1.8中的类和方法,请用户自行安装配置。
在往下阅读之前务必执行java -version命令查看jdk版本

java -version

2.2 安装GCC-4.3.0(GLIBCXX_3.4.10)或更新版本(可选)
如果使用的是RocksDB后端,请务必执行gcc --version命令查看gcc版本;若使用其他后端,则不需要。

gcc --version

3 部署
有三种方式可以部署HugeGraph-Server组件:
方式1:一键部署
方式2:下载tar包
方式3:源码编译
本文采用方式2:下载HugeGraph的tar包进行安装部署

3.1 下载tar包

# 方式一:终端下使用wget下载(具体下载地址需要根据情况修改)
$ wget https://github.com/hugegraph/hugegraph/releases/download/v${version}/hugegraph-${version}.tar.gz
# 解压
$ tar -zxvf hugegraph-${version}.tar.gz

# 方式二:浏览器下载(具体下载地址需要根据情况修改)
$ HugeGraph的github仓库下载HugeGraph:https://github.com/hugegraph
# 解压
$ hugegraph-${version}.tar.gz

4配置:
4.1 进入安装好的HugeGraph目录,查看conf中的配置文件:
为了实现在外网浏览器访问HugeGraph服务,先在服务器终端进入安装好的HugeGraph-0.9.2目录,再进入conf目录,需要修改以下的配置文件:rest-server.properties 、 gremlin-driver-settings.yaml 、 hugegraph.properties

[root@cdh1 conf]# pwd
/Programe_Files/HugeGraph/hugegraph-0.9.2/conf
[root@cdh1 conf]# ll
total 28
-rw-rw-r-- 1 2000 2000  177 Sep 10 17:00 gremlin-driver-settings.yaml
-rw-rw-r-- 1 2000 2000 2275 Apr 19 20:12 gremlin-server.yaml
-rw-rw-r-- 1 2000 2000  942 Sep 10 18:20 hugegraph.properties
-rw-rw-r-- 1 2000 2000 1723 Apr 19 20:12 log4j2.xml
-rw-rw-r-- 1 2000 2000  209 Apr 19 20:12 remote-objects.yaml
-rw-rw-r-- 1 2000 2000  239 Apr 19 20:12 remote.yaml
-rw-rw-r-- 1 2000 2000  219 Sep 10 15:30 rest-server.properties

4.2 修改conf中的配置文件:
(1)修改配置文件:rest-server.properties
因为也需要使用外网访问HugeGraph,所以要将restserver这一项修改为:http://0.0.0.0:8080。(ip设置为:0.0.0.0可以让同一网段的机器都可以访问,8080表示你的电脑提供的端口号,根据你自己的需要修改)。建议修改为:http://0.0.0.0,除非自己电脑上访问HugeGraph。

[root@cdh1 conf]# pwd
/Programe_Files/HugeGraph/hugegraph-0.9.2/conf

[root@cdh1 conf]# vim rest-server.properties 

# 下面是vim打开的结果展示:
# bind url
restserver.url=http://0.0.0.0:8080    

# graphs list with pair NAME:CONF_PATH
graphs=[hugegraph:conf/hugegraph.properties]

# authentication
#auth.require_authentication=
#auth.admin_token=
#auth.user_tokens=[]

(2)修改配置文件:gremlin-driver-settings.yaml
这里的port端口号,修改为上一步rest-server.properties中的,restserver.url所设置的端口号。

[root@cdh1 conf]# pwd
/Programe_Files/HugeGraph/hugegraph-0.9.2/conf
[root@cdh1 conf]# vim gremlin-driver-settings.yaml

# 下面是vim打开的结果展示:
hosts: [localhost]
port: 8080
serializer: {
  className: org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV1d0,
  config: {
    serializeResultToString: false
  }
}

(2)修改配置文件:hugegraph.properties
这里修改的是存储方式,方式一表示Memory方式存储。Memory后端的数据是保存在内存中无法持久化的,不需要初始化后端,这也是唯一一个不需要初始化的后端。方式二表示rocksdb方式存储,可以持久化存储数据,需要初始化存储后端。具体修改方式如下:

[root@cdh1 conf]# pwd
/Programe_Files/HugeGraph/hugegraph-0.9.2/conf

[root@cdh1 conf]# vim hugegraph.properties
# 下面是vim打开的部分结果展示:(只显示了我们需要关注的几项)

#修改方式一:
backend=memory
serializer=text

store=hugegraph

#修改方式二:
backend=rocksdb
serializer=binary

store=hugegraph

4.3 启动 server(二选一)
(1)方式一:memory存储方式的启动方式server:

[root@cdh1 hugegraph-0.9.2]# pwd
/Programe_Files/HugeGraph/hugegraph-0.9.2
[root@cdh1 hugegraph-0.9.2]# bin/start-hugegraph.sh  # 这里是memory存储方式的启动方式

(2)方式二:rocksdb存储方式的启动方式server:

[root@cdh1 hugegraph-0.9.2]# pwd
/Programe_Files/HugeGraph/hugegraph-0.9.2
[root@cdh1 hugegraph-0.9.2]# bin/init-store.sh  # 初始化数据库(仅第一次启动时需要)
[root@cdh1 hugegraph-0.9.2]# bin/start-hugegraph.sh  # 这里是rocksdb存储方式的启动方式

(官方网站对于配置文件中的参数进行了详细的讲解:配置文档配置项

5 访问Server
5.1 服务启动状态校验
jps查看服务进程

$ jps
6475 HugeGraphServer

curl请求RestfulAPI

$ echo `curl -o /dev/null -s -w %{http_code} "http://localhost:8080/graphs/hugegraph/graph/vertices"`

返回结果200,代表server启动正常

5.2 请求Server
HugeGraphServer的RESTful API包括多种类型的资源,典型的包括graph、schema、gremlin、traverser和task,
graph包含vertices、edges
schema 包含vertexlabels、 propertykeys、 edgelabels、indexlabels
gremlin包含各种Gremlin语句,如g.v(),可以同步或者异步执行
traverser包含各种高级查询,包括最短路径、交叉点、N步可达邻居等
task包含异步任务的查询和删除
5.2.1 获取hugegraph的顶点及相关属性

$ curl http://localhost:8080/graphs/hugegraph/graph/vertices

说明
由于图的点和边很多,对于 list 型的请求,比如获取所有顶点,获取所有边等,Server 会将数据压缩再返回, 所以使用 curl 时得到一堆乱码,可以重定向至 gunzip 进行解压。推荐使用 Chrome 浏览器 + Restlet 插件发送 HTTP 请求进行测试。

 curl "http://localhost:8080/graphs/hugegraph/graph/vertices" | gunzip

当前HugeGraphServer的默认配置只能是本机访问,可以修改配置,使其能在其他机器访问。

$ vim conf/rest-server.properties

# 修改配置文件项restserver为 : restserver.url=http://0.0.0.0:8080


#  停止Server
$ cd hugegraph-${version}
$ bin/stop-hugegraph.sh

注意:当出现多个HugeGraphServer,需要全部关闭,然后再重新开启HugeGraphServer,否则可能会出现异常:(linux系统kill一些类名称相同的进程)

# kill一些类名称相同的进程:HugeGraphServer
$ jps | grep "HugeGraphServer" | awk '{print $1}' | xargs kill

end:整个HugeGraph环境已经安装完成,如果需要浏览器访问还需要安装HugeGraph-Studio,安装详情请参考我的下一篇文章:HugeGraph-Studio安装教程

参考教程:
HugeGraph中文官网
准备执行Gremlin的图形化环境

#End----------------------------------------------------------------------------------
文章为原创,转载请注明出处。
欢迎大家对我的文章中的疑问进行留言,多多交流

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值