JanusGraph图形数据库搭建

     本文创作只是为了工作之余的总结,非专业工程人士角度。另外本文没有从0到1步步教你如何搭建,只求让你对janusGraph 图形数据库搭建有个清晰的认识。当然本人并未观看JanusGraph 框架源码,其中理解完全源于对JanusGraph官方文档的解读,如有不足之处,请多多指教。

一、搭建要求前提:集群中已经搭建完成hadoop、hbase /zookeeper (java1.8以上)

其中DataNode 、NameNode、SecondaryNameNode是hadoop 启动进程

HRegionServer HMaster 是 hbase 启动进程

QuorumPeerMain 是zookeeper 启动进程

二.JanusGraph 图形数据库搭建的几种形式

JanusGraph图形数据库可以与集群(hbase)搭建在一起,也可以另外的机器上去搭建。搭建一起的可能的好处就是减少数据的传输。

1)单机搭建。

对每张图从左往右进行标号1客户端 、2 janusGrph(配置)、3单机集群(后端)

这张图可以理解这样理解:客户端和janusGrph 搭建在同一台机器上 单机集群可以部署在远端也可以理解部署在客户端和janusGraph 同一台机器上,只不过配置不同罢了。

搭建过程:

在本地机器搭建完后端后,从官网上下载JanusGraph janusgraph-0.3.0-hadoop2.zip 

完成以下配置:

在文件下../conf/ 修改 与搭建后端相同的properties

例如:

在我的本地搭建只搭建了hbase后端存储,没有索引ES。那么在properties配置中就删除掉关于ES等配置,只保留storage 相关的配置。如果只是本地搭建的单机形式只要修改一下storage.backend=hbase/storage.hostname=127.0.0.1 即可 如果集群不在本地搭建的只需要修改一下后端存储storage.hostname 以及storage.port即可。注意:如果你想设置一下插入后端数据的表名可用:graph.graphname默认的值为JanusGraph。graph.graphname=mazze这样的话你得插入hbase表名就是mazze。其他的配置说明请看官网上的配置

在此单机搭建完成了。

测试:

在目录bin/下执行gremlin.sh 至于为什么要通过Gremlin建议可以看一下官网文档,在此不多说。

进入交互式界面后,我们怎么跟本地的后端或者远处的服务器通信呢?

很简单:

在交互式界面执行:gremlin> graph = JanusGraphFactory.open('conf/xx.properties')

这样我们就可以得到了一个图了,你可以通过内置的函数进行加载数据到图中如:

gremlin> GraphOfTheGodsFactory.load(graph)

(因为我的测试hbase 没有安装ES,所以对数据的加载只能按以下方式:

gremlin> GraphOfTheGodsFactory.loadWithoutMixedIndex(graph, true)

完成数据的载入后,你就可以对图进行操作了,操作前需要执行以下函数:

gremlin> g = graph.traversal()

至此本地的JanusGraph的搭建完成了,你可以尽情的测试。

2 ).JanusGraph 分布式搭建

对每张图从左往右进行标号1客户端 、2 janusGraph集群、3存储集群(后端)

如果我们有对图的数据库分布式的需求可以如上形式的搭建,其跟单机的单建基本相同,不同之处在于我们需要配置JanusGraph包到多台机器上。至此不再赘述。

3).JanusGraph分布式 服务器形式搭建(+gremlinServer)

对每张图从左往右进行标号 1客户端 、2 janusGraph集群+gremlinServer(janusGraph server)、3存储集群(后端)

如果你确实不知道他跟JanusGraph 分布式搭建下称之为JanusGraph+    的形式有什么不同,你可以暂时理解为JanusGraph分布式 服务器形式搭建(+gremlinServer) 下称之为 JanusGraph+server,在其中在每台机器上多开了一直运行的服务进程。而这些服务本质是gremlinServer 服务。为什么是GremlinServer这就需要你去瞅瞅了。那么维持这个服务的目的在于什么呢?可以方便你随时的去取已经被你配置在gremlin-server或操作过的图实例,不需要你每次进入客户端去anusGraphFactory.open('conf/xx.properties')加载你的配置、创建图实例

他始终维持加载好的图实例,方便你随时随地的去操作,是不是很有用。

配置如下:

1.配置gremlin-server

1). 跟单机配置properties 文件一样,你需要配置一个properties 文件。该文件就是你的后端(hbase等)配置文件

2).配置yaml 文件,该文件是你的服务端跟你的客户端相关通信的配置。例如socket还有http.

host 表示你需要监听的ip以及端口 0.0.0.0 表示所有客户端的请求IP

如果你想在该服务端始终保持两个图实例,那么如上图的wzbgraph和wcfgraph。这里说明一下两者的不同,以及用处。wzbgraph的文件properties配置与wcfgraph文件propertie配置不同之处在于有没有设置graph.graphname这一项,如果设置了那么你的图的实例以及存入hbase的表名都会是设置的值,如果没有设置那么你的实例就是你的wzbgraph 存入hbase 里面的表明就是默认的Janusgraph. 这些是需要注意,也是一些基本的东西。

2.启动gremlin-server

对你刚刚配置的yaml 文件进行启动 例如:

bin/gremlin-server.sh ./conf/gremlin-server/socket-gremlin-server.yaml

3.配置本地客户端的访问的文件

1).在你的本地配置远程访问文件。

其中hosts是你的gremlin-server 部署的机器ip port允许访问的端口

4.本地客户端访问gremlin-server

本地进入bin目录:

执行gremlin.sh

然后gremlin>remote connect tinkerpop.server conf/remote.yaml

至此你就可以使用在服务器中已经配置好的图实例了。例如上面的wzbgraph 图实例 wcfgraph图实例根据你的graph.graphname。

当然如果你需要自己建一个新的图实例,并加载到gremlin服务

gremlin>:remote console

然后自己加载你需要的配置以及实例吧!!

gremlin> graph = JanusGraphFactory.open('conf/xx.properties')

JanusGraph 图形数据库的讲解完毕。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,847评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,208评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,587评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,942评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,332评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,587评论 1 218
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,853评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,568评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,273评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,542评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,033评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,373评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,031评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,073评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,830评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,628评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,537评论 2 269