图数据库JG实战[3]: Windows下JanusGraph+berkerly+es的安装

2022-03-21 00:00:00 框架 环境 启动 安装 解压

前面的两篇文章对JanusGraph已经做了基本介绍,本文将介绍JanusGraph环境的搭建。


JanusGraph安装说明

JanusGraph的源代码是用Java开发的,因此需要安装JDK。推荐使用Oracle JDK1.8。


JanusGraph由于其灵活的架构,因此部署方式也有很多种。采用不同的后端存储和索引框架,部署方式就不同。常见的部署模式有三种:

  • JanusGraph+Berkeley+ES:主要用于小型环境

  • JanusGraph+Cassandra+ES:适用于无Hadoop环境

  • JanusGraph+HBase+ES:适用于与Hadoop集成的环境

另外,JanusGraph的安装也可以只配置后端存储框架,不配置外部索引框架。JanusGraph支持两种索引,即Composite Index和Mixed Index,后端存储默认支持Composite Index,如果不配置外部索引框架,那么就不支持Mixed Index。


Tinkerpop内存图数据库

Tinkerpop作为一个图数据库与图计算框架,定义了一套完整的API,它自身也把这套API做了一个名为TinkerGraph的简单实现。Tinkerpop是基于内存的图数据库,JanusGraph在集成Tinkerpop的时候也保留了TinkerGraph。

如果你只是做一些Gremlin语言的基本练习,不需要存储练习的图数据,那么就可以采用它。TinkerGraph在启动Gremlin Console时会默认加载。


JanusGraph+Berkeley+ES安装

前置条件:Oracle JDK8已安装好!考虑到大部分朋友使用的是Windows作为开发环境,这里以Windows下安装为例。


版本选择

JanusGraph当前(2018-12-3)的新版本为0.3.1。与之兼容的BerkeleyJE版本为7.4.5,ElasticSearch版本为6.0.1,这两个版本在安装包里已经包含了。


安装包下载

JanusGraph 0.3.1到这里下载https://github.com/JanusGraph/janusgraph/releases/。大约261M。


安装与配置

步:解压JanusGraph

将JanusGraph安装包解压到某个目录,例如:H:\ssdgreen\janusgraph-0.3.1-hadoop2


第二步:下载Hadoop的本地工具

下载http://public-repo-1.hortonworks.com/hdp-win-alpha/winutils.exe,将其放入janusgraph-0.3.1-hadoop2\bin目录下。


第三步:启动ElasticSearch

JanusGraph自带了ElasticSearch,进入JanusGraph解压目录的elasticsearch\bin下面,直接双击elasticsearch.bat

即可启动ElasticSearch。


第四步:启动JanusGraph控制台

找到JanusGraph解压目录bin下的gremlin.bat,右键,选择”以管理员身份”运行。也可以将H:\ssdgreen\janusgraph-0.3.1-hadoop2\bin\gremlin.bat做一个快捷方式,放到桌面,方便后续启动。

注意:

[1] 运行的时候,需要以管理员身份运行,需要注册一些信息,后续直接双击运行即可。

[2] 除了控制台之外,还可以通过gremlin-server.bat启动JanusGraph Server接收远程访问。


JanusGraph基本使用

在Gremlin控制台模式下,以berkeley+es的方式开启Graph实例,如下:

gremlin> graph = JanusGraphFactory.open('conf/janusgraph-berkeleyje-es.properties')

==>standardjanusgraph[berkeleyje:H:\ssdgreen\janusgraph-0.3.1-hadoop2\conf\../db/berkeley]

gremlin>


JanusGraph自带了一个很有名的图数据案例,叫做"The Graph of the Gods",也称罗马诸神。JanusGraphFactory提供了静态的方法来加载图数据。

gremlin> GraphOfTheGodsFactory.load(graph)

==>null


获取图遍历句柄

gremlin> g = graph.traversal()

==>graphtraversalsource[standardjanusgraph[berkeleyje:H:\ssdgreen\janusgraph-0.3.1-hadoop2\conf\../d

b/berkeley], standard]


通过图遍历查询罗马神话中指农神萨图努斯saturn的信息

gremlin> g.V().has('name', 'saturn').valueMap()

==>[name:[saturn],age:[10000]]


创建一个顶点(也称节点)

gremlin> g.addV('person').property('name','Dennis')

==>v[4176]


查询刚创建的顶点

gremlin> g.V().has('name', 'Dennis').valueMap()

==>[name:[Dennis]]

gremlin>


相关文章