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即可。注意:如果你想设置⼀下插⼊后端数据的表名可⽤:aphname默认的值为JanusGraph。aphname=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 = aversal()
⾄此本地的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
hadoop分布式集搭建如果你想在该服务端始终保持两个图实例,那么如上图的wzbgraph和wcfgraph。这⾥说明⼀下两者的不同,以及⽤处。wzbgraph的⽂件properties配置与wcfgraph⽂件propertie配置不同之处在于有没有设置g
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图实例根据你的aphname。当然如果你需要⾃⼰建⼀个新的图实例,并加载到gremlin服务
gremlin>:remote console
然后⾃⼰加载你需要的配置以及实例吧!!
gremlin> graph = JanusGraphFactory.open('conf/xx.properties')
JanusGraph 图形数据库的讲解完毕。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论