如何安装和部署Nebula Graph
Nebula Graph:一个开源分布式图数据库。 Nebula Graph作为唯一可以存储万亿级带属性的节点和边的在线图数据库,不仅可以满足高并发场景下毫秒级低延迟的查询需求,还可以实现服务的高可用性并保证数据安全。
简介
Nebula Graph首次开放第三代分布式图数据库不仅可以存储万亿级有属性的节点和边,还可以满足高并发场景下毫秒级的低延迟查询需求。与 Gremlin 和 Cypher 不同,Nebula 通过三种组合提供了 SQL-LIKE 查询语言 nGQLion 方法(Pipeline
、Semicolon
和 Variable
code>)完成对图的 CRUD 操作。在存储层,Nebula Graph 目前支持两种方式:RocksDB
和 HBase
。
感谢 Nebula Graph 社区贡献者卢一星贡献本文。
Nebula Graph整体架构
Nebula Graph 主要有三个服务流程:
元服务
Meta Service是整个集群的元数据管理中心,使用Raft协议保证高可用性。主要提供两个功能:
管理各种元信息,例如Schema
直接存储扩展和数据迁移
存储服务
Storage Service负责Graph数据存储。图数据被划分为多个分片的Partition,相同ID的Partition组成一个Raft Group,实现多副本一致性。 Nebula Graph 默认的存储引擎是 RocksDB 的 Key-Value 存储。
图服务
图服务位于架构的计算层。它负责与Console等客户端通信,解析nGQL请求并生成执行计划。执行计划经过优化器优化后,事务由执行引擎执行。执行引擎会向MetaService请求点和边的schema,并从存储引擎获取点和边的数据。
安装部署
Nebula Graph提供了两种部署方式方法:独立
和集群
。 单机部署主要用于测试和体验使用,生产场景建议采用集群方式。
单机操作
在一台机器上练习或测试 Nebula Graph单机最好的方式是通过Docker
容器运行,参考文档拉取镜像,进入容器:
$ docker pull vesoft/nebula-graph :latest $ dockerrun --rm -ti vesoft/nebula-graph:latest bash
进入容器后,首先启动所有Nebula服务,然后连接到里面的graphd
服务容器通过Console客户端来执行nGQL语句
$ cd /usr/local/nebula $ ./scripts/nebula.service 启动全部 $ ./bin/nebula -u user -p 密码 (user@127.0.0.1) [( none)]> 显示主机; ================================= | ip |港口|状态 | ================================= | 172.17.0.2 | 44500 |在线| --------------- ---------------- 获得 1 行(花费时间:15621/16775 us)
集群部署
环境准备
Nebula支持通过打包Package的方式编译安装安装。由于Nebula依赖较多,为了简单起见,建议使用安装包安装。
文章准备了3台CentOS 7.5系统机器,IP如下:
192.168.8.14 # cluster-14 192.168.8.15 # cluster-15 192.168.8.16 # cluster-16
在每台机器上下载对应的安装包:
$ wget -O nebula-1.0.0-beta.el7-5.x86_64.rpm https://github.com/vesoft-inc/nebula/releases/download /v1 .0.0-beta/nebula-1.0.0-beta.el7-5.x86_64.rpm
另外,由于Nebula需要开放一些端口用于服务之间的通信,所以可以暂时关闭所有端口机器。防火墙:(具体使用的端口见/usr/local/nebula/etc/下面的配置文件
)
$ systemctl disablefirewalld
文章内容如下部署Nebula集群如下:
- cluster-14:metad/storagged/graphd - cluster-15:metad/storagged - cluster-16:metad/storagged< h6 id="h6-u5B89u88C5">安装
使用rpm安装上一步准备的安装包
$ rpm -ivh nebula-*.rpm
Nebula默认安装目录位于/usr/local/nebula
配置
Nebula的所有配置文件位于/usr/local/nebula/etc code> 目录下,提供了三个默认配置,分别编辑这些配置文件:
第一个配置文件:nebula-metad.conf
metad 确保通过raft协议实现高可用,需要为每个Metad的服务配置该服务部署的机器IP和端口,主要涉及两个字段:meta_server_addrs
和local_ip
。其他字段使用默认配置,cluster-14
上的两个配置示例如下:
# Peers --meta_server_addrs=192.168.8.14:45500,192.168.8.15:45500 ,192.168.8.16:45500 # 本地ip --local_ip=192.168.8.14 # Meta daemon监听端口 --port=45500
第二个配置文件:nebula-graphd.conf
当 graphd 运行时ning,需要从metad获取schema数据,因此配置中必须显示指定集群中meta的IP地址和端口选项meta_server_addrs
,其他均使用默认配置。 cluster-14
上的图形配置如下:
#Meta Server Address --meta_server_addrs=192.168.8.14:45500,192.168.8.15:45500,192.168.8.16:45500
第三个配置文件:nebula-storages.conf
storage也使用了raft协议来保证高可用,并且在数据迁移时与metad进行通信,所以需要配置metad的地址和端口meta_server_addrs
以及本地地址local_ip
,其peer可以通过metad获取。 cluster-14
上的一些配置选项如下:
#元服务器地址 --meta_server_addrs=192.168.8.14:45500,192.168.8.15:45500,192.168.8.16:45500 # 本地ip --local_ip=192.168.8.14 # 存储守护进程监听端口 —port=44500
启动集群
cluster-14
$ /usr/local/nebula/scripts/nebula.service start all [INFO] 启动 nebula-metad... [INFO] 完成 [INFO]正在启动 nebula-graphd ... [INFO] 完成 [INFO] 正在启动 nebula-storged ... [INFO] 完成
cluster-15/cluster-16
$ /usr/local/nebula/scripts/nebula.service start metad [INFO] 启动 nebula-metad... [INFO] 完成 $ /usr/local/nebula/scripts/nebula.service start 存储 [INFO]正在启动星云存储... [INFO] 完成
注意:某些用户可能会遇到
[警告]允许打开的最大文件数可能太少:1024
您可以修改/etc/security/limits.conf
< /span>测试集群
登录其中一个集群,执行以下命令:
$ /usr/local/nebula/bin/nebula -u user -p 密码 --addr 192.168 .8.14 --port 3699 (user@192.168.8.14) [(none)]> 显示主机; ================================== | ip |港口|状态 | ====================================== | 192.168。 8.14 | 44500 |离线| ---------------------------------- 获得 1 行(花费时间:3511/4024 us) pre>以上就是《如何安装部署Nebula Graph》一文的全部内容。感谢您的阅读!希望分享的内容对大家有所帮助。更多相关知识,欢迎关注行业资讯频道!
2. 本站积分货币获取途径以及用途的解读,想在本站混的好,请务必认真阅读!
3. 本站强烈打击盗版/破解等有损他人权益和违法作为,请各位会员支持正版!
4. 编程技术 > 如何安装和部署Nebula Graph