图数据库JG实战[3]: Windows下JanusGraph+berkerly+es的安装
前面的两篇文章对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>
相关文章