首页 > 系统相关 >linux环境安装可操作图库语言Gremlin的图框架HugeGraph

linux环境安装可操作图库语言Gremlin的图框架HugeGraph

时间:2023-11-19 10:03:10浏览次数:50  
标签:Gremlin hugegraph HugeGraph 0.0 数据库 支持 Server linux

原创/朱季谦

 

若你还没接触过图数据库,可能看到这个概念时,会比较蒙蔽。

图是什么?图数据库又是什么?

首先,在数据结构中,图是一种由顶点(vertex)集合及顶点间关系集合组成的一种非线性数据结构。

而图数据库,则是以图这种具有点边结构来增、删、改、查之类操作的NoSQL数据库,它特别擅长处理大数据之间的关联。

常见的图数据库有Neo4j,JanuasGraph,Tigergraph等,其中,Gremlin是一种操作图数据库的图语言,它是Apache ThinkerPop框架下的图遍历语言。


那么HugeGraph又是什么呢?

根据官网上的介绍,HugeGraph是一款易用、高效、通用的开源图数据库系统(Graph Database),实现了Apache TinkerPop3框架及完全兼容Gremlin查询语言,支持百亿以上的顶点和边快速导入,并提供毫秒级的关联关系查询能力(OLTP),并可与Hadoop、Spark等大数据平台集成以进行离线分析(OLAP)。

HugeGraph是百度自主研发的图数据库,在2018年8月开始对外开源,我们之前做一款图库产品时技术选型就是选了HugeGraph,总体感觉这个技术比较前沿也比较厉害。

HugeGraph有以下特点:

  • 顶点、边:支持基本增删改查操作,支持有向图,支持两顶点间同一类型多条边,支持超级点。
  • 属性:支持属性图、支持多值属性、支持多样化的属性类型、支持顶点属性追加与合并。
  • 元数据:支持丰富的Schema校验,如属性是否可空(可选),支持Schema动态修改。
  • 索引:支持二级索引、范围索引、全文索引,支持联合索引。
  • 事务:遵循Tinkerpop事务规范,支持Read Committed级别事务。
  • 多顶点ID策略:支持主键ID、支持自动生成ID、支持用户自定义字符串ID、支持用户自定义数字ID。
  • 大规模数据:支持批量插入顶点/边、支持超级顶点、支持流式分页获取、支持Shard并行获取。
  • 优化的图接口:最短路径(Shortest Path)、K步连通子图(K-neighbor)、K步到达邻接点(K-out)等。
  • 其它:支持图变量(Graph Variables)、兼容性上已通过Apache Tinkerpop官方测试用例90%兼容测试。

 

说了这么多,那么图库技术有什么用呢?

主要可以用在知识图谱、金融反欺诈、社交关系网络、推荐、用户分析、搜索等等,以及其他。

 

学习Gremilin的第一步,当然是从安装环境开始,下面,我就把之前的安装教程分享出来:

网盘下载核心安装包HugeGraph Server包和图形界面HugeGraph Studio包(截图是目前最新版本)。

linux环境安装可操作图库语言Gremlin的图框架HugeGraph_图数据库

网盘下载地址:

链接:https://pan.baidu.com/s/11qPFOFU-d9nxGEdws4zggQ提取码:pqpy

利用HugeGraph学习Gremlin,主要只用安装以上两个包,它们的功能分别是:

核心HugeGraph-Server: HugeGraph-Server是HugeGraph项目的核心部分,包含Core、Backend、API等子模块——

  • Core:图引擎实现,向下连接Backend模块,向上支持API模块;
  • Backend:实现将图数据存储到后端,支持的后端包括:Memory、Cassandra、ScyllaDB、RocksDB、HBase及MySQL,用户根据实际情况选择一种即可;
  • API:内置REST Server,向用户提供RESTful API,同时完全兼容Gremlin查询。

可视化界面(hugegraph-studio):基于Web的可视化环境,提供图操作界面、图数据展示与分析。

 

一.先安装HugeGraph Server。

1.把压缩包放在你选择放的文件夹里,进行解压:

tar -zxvf hugegraph-0.10.4.tar.gz

linux环境安装可操作图库语言Gremlin的图框架HugeGraph_图数据库_02

解压完成后,进入到已解压的文件目录里,执行:vim conf/rest-server.properties,进入到编辑状态,将restserver.url改成:http://0.0.0.0:8080,代表本机以及其他机器都可以访问,修改完成后,:wq保存退出。

linux环境安装可操作图库语言Gremlin的图框架HugeGraph_图数据库_03

2.配置文件修改完后,需对后端做初始化操作,执行指令:

bin/init-store.sh

执行成功会打印以下信息:

linux环境安装可操作图库语言Gremlin的图框架HugeGraph_Server_04

初始化完成后,自动生成一个corksdb-data的文件,这个文件禁止删除,它是与数据存储相关的文件,HugeGraph其实可以与Hbase等第三方组件集成,可在conf目录下的hugegraph.properties文件中进行配置。

linux环境安装可操作图库语言Gremlin的图框架HugeGraph_Server_05

3.接下来就可以启动HugeGraph Server服务了,执行指令:

bin/start-hugegraph.sh

执行成功后,会打印以下信息:

linux环境安装可操作图库语言Gremlin的图框架HugeGraph_Server_06

最后,输入jps,若出现HugeGraph Server的进程,则证明已经安装启动成功。

 

二.接下来,就开始安装启动图形化HugeGraph Studio

1.解压HugeGraph Studio压缩包:

tar -zxvf hugegraph-studio-0.10.0.tar.gz

解压完成后,进入已解压的文件目录里,执行指令:vim conf/hugegraph-studio.properties,进行配置文件编辑状态:

其中,studio.server.port填8088,studio.server.host填0.0.0.0,可令本机与本机之外的机器访问,graph.server.host填的是HugeGraph Server所在机器的地址IP,其安装在虚拟机192.168.200.128机器上,graphGraph Server.port对应的是HugeGraph Server配置设置的8080端口,只需修改设置下图截图ip与端口即可。

linux环境安装可操作图库语言Gremlin的图框架HugeGraph_配置文件_07

2.安装完成后,即可执行指令bin/hugegraph-studio.sh进行启动操作,成功启动后,显示打印以下信息:

linux环境安装可操作图库语言Gremlin的图框架HugeGraph_Server_08

在浏览器测试运行下,输入1+3,若能显示[4],即已经完整启动完成,可在以下Studio界面玩Gremlin图数据库语言了。

linux环境安装可操作图库语言Gremlin的图框架HugeGraph_Server_09

过程遇到的问题:

刚开始,我参考网上一些教程,把HugeGraph Studio的配置文件中graph.server.host改成0.0.0.0。

linux环境安装可操作图库语言Gremlin的图框架HugeGraph_Server_10

发现可以出现图形化界面,但是,在操作运行时,报了“Failed to connect HugeGraphServer.com.baidu.hugeGraph.rest.ClientException:Failed to do request的错误,后经检查,发现这里不能填对应HugeGraph Server配置文件里设置的0.0.0.0,而需要填HugeGraph Server所在的机器Ip,例如其所在虚拟机Ip,这样才能正常运行。

linux环境安装可操作图库语言Gremlin的图框架HugeGraph_图数据库_11

图数据库是一项很前沿的技术,欢迎小伙伴关注我,我会把学习笔记做成专栏记录下来。

标签:Gremlin,hugegraph,HugeGraph,0.0,数据库,支持,Server,linux
From: https://blog.51cto.com/u_12448586/8469654

相关文章

  • Linux信号基本概念
    信号分为两大类:标准信号,用于内核向进程通知事件,信号范围为1~31实时信号信号产生后,会在稍后被传递给某进程,进程也会采取某措施来响应信号。在产生和到达期间,信号处于pending(等待)状态。有时需要确保一段代码不被传递来的信号所中断,这时可以把信号添加到进程的信号掩码中,阻塞......
  • linux - grep 查找匹配
    在文件中查找匹配的字符串或者模式1.在单个文件中查找给定的字符串grep"string"filename2.在多个文件中查找指定的字符串grep"this"demo_*3.-i选项忽略大小写敏感进行查找grep-i"string"filename4.使用正则表达式进行匹配查找grep"lines.*empty"demo_file5......
  • Linux与Sre入门建议
    https://www.w3schools.com/go/index.php......
  • linux安装最新版本composer
    wgethttps://getcomposer.org/composer.pharmvcomposer.pharcomposerchmod+xcomposersudomvcomposer/usr/bin/composer-V切换为中国源composerconfig-grepo.packagistcomposerhttps://packagist.phpcomposer.com......
  • 第十二周Linux学习报告
    本周学习的是上周没有讲完的磁盘管理以及新学习的文件查找、打包压缩及解压磁盘管理1、修改挂载点的配置文件,目录在/etc/fstab,使用vim修 文件查找、打包压缩以及解压1、which命令查找符合条件的命令文件,可查看其是否存在以及执行的位置  2、locate命令可以让用户快速......
  • OS-Linux-程序安装与依赖
    OS-Linux-程序安装与依赖从源下载安装包sudoaptdownloadmysql查看安装依赖:apt-cacheapt-cachedependsxxx查看已安装程序依赖,如nginxsudoapt-getinstall--reinstall-d'apt-cachedependsnginxIgrep"依赖”lcut-d:-f2Itr-d“"......
  • 开启linux网卡
    查看目录,如果有ifcfg-eth0,ifcfg-ens33之类的,表示有网卡但不确定是否开启,如果使用的vmware,且有桌面的化,可以用鼠标点一点就可以开启网络[root@bogonnetwork-scripts]#pwd/etc/sysconfig/network-scripts[root@bogonnetwork-scripts]#lsifcfg-eth0ifdown-ipppifdown-r......
  • Linux要删除的目录下出现了~目录怎么办
    可直接用以下命令删除’~’目录,而不影响当前用户主目录rm -rf \~`rm-rf\~`命令的作用是递归地删除名为‘~’的目录。解释一下这个命令的各个部分:-`rm`是Linux中用于删除文件和目录的命令。-`-r`选项表示递归删除,即删除目录及其所有内容。-`-f`选项表示强制删......
  • 初识Linux
    1.了解云计算的概念1.1云计算是什么云计算是一种通过互联网提供计算资源和服务的模式。它将计算资源(如服务器、存储、数据库、网络、软件等)通过云服务提供商(如亚马逊AWS、微软Azure、谷歌云平台等)的数据中心进行集中管理和分配,用户可以通过互联网按需获取和使用这些资源和......
  • go语言window|mac|linux下交叉编译其他平台的软件包
    go语言window|mac|linux下交叉编译其他平台的软件包注意:go1.17发现直接使用set是不起作用的,必须要使用goenv-w来设置一、设置编译环境,需要发布哪个平台Window下1、设置Linux编译环境SETCGO_ENABLED=0setGOARCH=amd64setGOOS=linux2、设置Mac编译环境goenv......