本文共 1666 字,大约阅读时间需要 5 分钟。
Nebula Graph 是一个开源的分布式图数据库,作为目前唯一能够存储万亿级带属性节点和边的在线图数据库,其独特的架构设计使其在高并发场景下具备毫秒级低时延查询能力,同时支持服务高可用性和数据安全性。
Nebula Graph 由三个核心服务进程构成,分别是Meta Service、Storage Service和Graph Service,它们共同构建了一个高效的分布式图数据库体系。
Meta Service 是集群的元数据管理中心,采用Raft协议实现高可用性。其主要功能包括:
Storage Service 负责存储图数据,通过将图数据切分为多个分片(Partition)来实现数据的分布式存储。每个分片通过Raft协议形成一个Raft Group,确保数据的多副本一致性。默认存储引擎为RocksDB的Key-Value存储。
Graph Service 位于计算层,主要负责接收客户端的请求并解析。其流程包括:
Graph Service是一个无状态服务,可以通过水平拓展以满足计算需求。
Nebula Graph 提供两种部署方式:单机运行和集群部署。单机部署适用于测试和体验,生产环境推荐使用集群部署。
单机部署最简单的方式是通过Docker容器运行。操作步骤如下:
$ docker pull vesoft/nebula-graph:latest$ docker run --rm -ti vesoft/nebula-graph:latest bash
进入容器后执行:
$ cd /usr/local/nebula$ ./scripts/nebula.service start all$ ./bin/nebula -u user -p password
推荐使用安装包安装,各节点需具备以下基础配置:
部署架构示例:
执行安装命令:
$ rpm -ivh nebula-*.rpm
安装目录位于 /usr/local/nebula
。
配置文件位于 /usr/local/nebula/etc
,主要配置文件包括:
每台节点需修改对应配置文件中的 meta_server_addrs
和 local_ip
。
执行以下命令启动各服务:
$ /usr/local/nebula/scripts/nebula.service start all
对于其他节点:
$ /usr/local/nebula/scripts/nebula.service start metad$ /usr/local/nebula/scripts/nebula.service start storaged
登录任意一节点,执行以下命令验证集群状态:
$ /usr/local/nebula/bin/nebula -u user -p password --addr 192.168.8.14 --port 3699
运行 SHOW HOSTS;
查看节点状态。
转载地址:http://cbryz.baihongyu.com/