准备执行Gremlin的图形化环境

技术杂谈70

Gremlin是Apache TinkerPop框架下实现的图遍历语言,支持OLTP与OLAP,是目前图数据库领域主流的查询语言,可类比SQL语言之于关系型数据库。

进入hugegraph项目,克隆代码库

进入终端

完成后会在当前目录下多出来一个 hugegraph的子目录,不过这个目录里面的文件是源代码,我们需要编译打包才能生成可以运行包。

进入 hugegraph目录,执行命令:

注意:一定要先切换分支,hugegraph主分支上版本已经升级到 0.8.0了,但是studio似乎还没有升级,为避免踩坑我们还是使用已发布版。

经过一长串的控制台输出后,最后如果能看到 BUILD SUCCESS表示打包成功。

这时会在当前目录下多出来一个子目录

和一个压缩包

,这就是我们即将要使用可以运行的包。

本人有轻微强迫症,不喜欢源代码和二进制包放在一起,容易混淆,所以把 hugegraph-0.7.4拷到上一层目录,然后删除源代码目录,这样上层目录又回归清爽了。

到这儿安装包就准备好了。不过,这样操作是需要你本地装了 jdkgitmaven命令行工具的,如果你没有安装也没关系,我们还可以直接下载 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服务的地址, host127.0.0.1时只能在本机访问的,按需要修改其中的 hostport部分即可。我这里由于 studio也是准备在本地启动, 8080端口也没有其他服务占用,所以不修改它。

graphs是可供连接的图名与配置项的键值对列表, hugegraph:conf/hugegraph.properties表示通过 HugeGraphServer可以访问到一个名为 hugegraph的图实例,该图的配置文件路径为 conf/hugegraph.properties。我们可以不用去管图的配置文件,按需要修改图的名字即可。我这里仍然没有修改它。

hugegraph启动服务之前是需要手动初始化后端的,不过大家也不要看到"手动"两个字就害怕,其实就是调一个命令的事。

这里可以看到, hugegraph初始化了 rocksdb后端,那为什么是 rocksdb而不是别的呢,其实就是上一步说的 conf/hugegraph.properties中配置的。

其中 backend=rocksdb就是设置后端为 rocksdb的配置项。

其他的后端还包括: memorycassandrascylladbhbasemysqlpalo。我们这里不用去管它,用默认的 rocksdb即可。

初始化完成之后,会在当前目录下出现一个 rocksdb-data的目录,这就是存放后端数据的地方,没事千万不要随意删它或移动它。

注意:初始化后端这个操作只需要在第一次启动服务前执行一次,不要每次起服务都执行。不过即使执行了也没关系,hugegraph检测到已经初始化过了会跳过。

终于到了启动服务了,同样也是一条命令

看到上面的 OK就表示启动成功了,我们可以 jps看一下进程。

如果还不放心,我们可以发个 HTTP请求试试看。

到这里 HugeGraphServer的部署就完成了,接下来我们来部署 HugeGraphStudio

步骤与部署 HugeGraphServer大体类似,我们就不那么啰嗦了。

记得先返回最上层目录,避免目录嵌套在一起了。

克隆代码库

编译打包

studio是一个包含前端的项目,使用 react.js实现,自行打包的话需要安装 npmwebpack等工具。

studio打包的时间会稍长一点。

将打包好的目录拷到上一层,删除源码目录(纯个人喜好)。

至此,我的最上层目录就只剩下两个安装包,如下:

进入 hugegraph-studio-0.7.0目录,修改唯一的一个配置文件。

需要修改的参数是 graph.server.host=localhostgraph.server.port=8080graph.name=hugegraph。它们与 HugeGraphServer的配置文件 conf/rest-server.properties中的配置项对应,其中:

  • graph.server.host=localhostrestserver.url=http://127.0.0.1:8080host对应;
  • graph.server.port=8080与的 restserver.url=http://127.0.0.1:8080port对应;
  • graph.name=hugegraphgraphs=[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的图形化环境