Gremlin是Apache TinkerPop框架下实现的图遍历语言,支持OLTP与OLAP,是目前图数据库领域主流的查询语言,可类比SQL语言之于关系型数据库。
进入hugegraph项目,克隆代码库
进入终端
完成后会在当前目录下多出来一个 hugegraph
的子目录,不过这个目录里面的文件是源代码,我们需要编译打包才能生成可以运行包。
进入 hugegraph
目录,执行命令:
注意:一定要先切换分支,hugegraph主分支上版本已经升级到
0.8.0
了,但是studio似乎还没有升级,为避免踩坑我们还是使用已发布版。
经过一长串的控制台输出后,最后如果能看到 BUILD SUCCESS
表示打包成功。
这时会在当前目录下多出来一个子目录
和一个压缩包
,这就是我们即将要使用可以运行的包。
本人有轻微强迫症,不喜欢源代码和二进制包放在一起,容易混淆,所以把 hugegraph-0.7.4
拷到上一层目录,然后删除源代码目录,这样上层目录又回归清爽了。
到这儿安装包就准备好了。不过,这样操作是需要你本地装了 jdk
、 git
和 maven
命令行工具的,如果你没有安装也没关系,我们还可以直接下载 hugegraph
官方的 release
包。
点击 github
代码的上面的导航 releases
可以看到hugegraph目前有两个release,点击 hugegraph-0.7.4.tar.gz
就开始下载了。
下载完之后解压即可
解压完之后能看到一个 hugegraph-0.7.4
目录,这个目录和用源码包打包生成的是一样的。
下面讲解如何配置参数。
虽然标题叫配置参数,但其实 hugegraph
的默认配置就已经能在大部分环境下直接使用了,不过还是说明一下几个重要的配置项。
进入 hugegraph-0.7.4
目录,修改 HugeGraphServer
提供服务的 url (host + port)
restserver.url
就是 HugeGraphServer
对外提供 RESTful API
服务的地址, host
为 127.0.0.1
时只能在本机访问的,按需要修改其中的 host
和 port
部分即可。我这里由于 studio
也是准备在本地启动, 8080
端口也没有其他服务占用,所以不修改它。
graphs
是可供连接的图名与配置项的键值对列表, hugegraph:conf/hugegraph.properties
表示通过 HugeGraphServer
可以访问到一个名为 hugegraph
的图实例,该图的配置文件路径为 conf/hugegraph.properties
。我们可以不用去管图的配置文件,按需要修改图的名字即可。我这里仍然没有修改它。
hugegraph
启动服务之前是需要手动初始化后端的,不过大家也不要看到"手动"两个字就害怕,其实就是调一个命令的事。
这里可以看到, hugegraph
初始化了 rocksdb
后端,那为什么是 rocksdb
而不是别的呢,其实就是上一步说的 conf/hugegraph.properties
中配置的。
其中 backend=rocksdb
就是设置后端为 rocksdb
的配置项。
其他的后端还包括: memory
、 cassandra
、 scylladb
、 hbase
、 mysql
和 palo
。我们这里不用去管它,用默认的 rocksdb
即可。
初始化完成之后,会在当前目录下出现一个 rocksdb-data
的目录,这就是存放后端数据的地方,没事千万不要随意删它或移动它。
注意:初始化后端这个操作只需要在第一次启动服务前执行一次,不要每次起服务都执行。不过即使执行了也没关系,hugegraph检测到已经初始化过了会跳过。
终于到了启动服务了,同样也是一条命令
看到上面的 OK
就表示启动成功了,我们可以 jps
看一下进程。
如果还不放心,我们可以发个 HTTP
请求试试看。
到这里 HugeGraphServer
的部署就完成了,接下来我们来部署 HugeGraphStudio
。
步骤与部署 HugeGraphServer
大体类似,我们就不那么啰嗦了。
记得先返回最上层目录,避免目录嵌套在一起了。
克隆代码库
编译打包
studio
是一个包含前端的项目,使用react.js
实现,自行打包的话需要安装npm
、webpack
等工具。
studio
打包的时间会稍长一点。
将打包好的目录拷到上一层,删除源码目录(纯个人喜好)。
至此,我的最上层目录就只剩下两个安装包,如下:
进入 hugegraph-studio-0.7.0
目录,修改唯一的一个配置文件。
需要修改的参数是 graph.server.host=localhost
、 graph.server.port=8080
、 graph.name=hugegraph
。它们与 HugeGraphServer
的配置文件 conf/rest-server.properties
中的配置项对应,其中:
graph.server.host=localhost
与restserver.url=http://127.0.0.1:8080
的host
对应;graph.server.port=8080
与的restserver.url=http://127.0.0.1:8080
的port
对应;graph.name=hugegraph
与graphs=[hugegraph:conf/hugegraph.properties]
的图名对应。
因为我之前并没有修改 HugeGraphServer
的配置文件 conf/rest-server.properties
,所以这里也不需要修改 HugeGraphStudio
的配置文件 conf/hugegraph-studio.properties
。
studio
的启动默认是不会放到后台的,所以我们会在控制台上看到一大串日志,在最底下看到如下日志表示启动成功:
然后我们按照提示,在浏览器中输入 http://localhost:8088
,就进入了 studio
的界面:
图中 Gremlin
下的框,就是我们输入 gremlin
语句进而操作 hugegraph
的入口了,下面我们给出一个例子。
在输入框中输入以下代码以创建一个"TinkerPop关系图":
点击右上角的三角按钮,这样就创建出了一个图。
在输入框中输入:
就能查出上面创建的图的所有顶点和边。
至此,执行Gremlin的图形化环境就已经搭建完成,后续就可以做各种各样炫酷的 gremlin
查询了。
Original: https://www.cnblogs.com/yadongliang/p/14124940.html
Author: 习惯沉淀
Title: 准备执行Gremlin的图形化环境