NebulaGraph本地搭建——单机版
本文详细介绍了NebulaGraph图数据库在Linux系统下的单机部署流程。首先说明了系统要求(推荐CentOS7+/Ubuntu18.04+,4GB+内存)和所需端口(Graph:9669,Meta:9559,Storage:9779)。接着提供了下载安装包和安装步骤,包括配置文件的路径说明(默认在/usr/local/nebula/etc/)。重点阐述了单机模式下Meta、Storage、G
1. 环境要求
-
系统:Linux(推荐 CentOS 7+ / Ubuntu 18.04+)
-
内存:至少 4GB(生产建议 16GB+)
-
CPU:2 核 +
-
端口:
-
Graph 服务:9669(客户端连接)
-
Meta 服务:9559(集群管理)
-
Storage 服务:9779(数据存储)
-
2. 下载并解压
# 下载最新版(这里以 nebulagraph3.6.0 为例,你可以去官网找最新)
ubuntu版本下载:
wget https://oss-cdn.nebula-graph.com.cn/package/3.6.0/nebula-graph-3.6.0.ubuntu2004.amd64.deb
CentOS、CEOS版本下载:
https://oss-cdn.nebula-graph.com.cn/package/3.6.0/nebula-graph-3.6.0.el7.x86_64.rpm
# 如果是 CentOS / RHEL
sudo rpm -ivh nebula-graph-3.6.0.el7.x86_64.rpm
# 如果是 Ubuntu
# sudo dpkg -i nebula-graph-3.6.0.ubuntu2004.amd64.deb
安装后,默认路径是:
/usr/local/nebula/
3. 配置单机模式
NebulaGraph 单机部署只需要启动 meta、storage、graph 三个服务。
配置文件在:
/usr/local/nebula/etc/
3.1 编辑配置文件(一般不需要修改,下载的时候已经给写好了)
nebula-metad.conf
--meta_server_addrs=127.0.0.1:9559
--local_ip=127.0.0.1
--ws_ip=127.0.0.1
--port=9559
--ws_http_port=19559
--data_path=/usr/local/nebula/data/meta
nebula-storaged.conf
--meta_server_addrs=127.0.0.1:9559
--local_ip=127.0.0.1
--port=9779
--ws_ip=127.0.0.1
--ws_http_port=19779
--data_path=/usr/local/nebula/data/storage
nebula-graphd.conf
--meta_server_addrs=127.0.0.1:9559
--local_ip=127.0.0.1
--port=9669
--ws_ip=127.0.0.1
--ws_http_port=19669
注意:单机模式 --meta_server_addrs 必须指向本机 meta 地址。
4. 创建数据目录(一般不需要创建,下载的时候会自动创建好)
sudo mkdir -p /usr/local/nebula/data/meta
sudo mkdir -p /usr/local/nebula/data/storage
sudo chown -R $(whoami):$(whoami) /usr/local/nebula/data
5.创建日志文件夹(一般不需要创建,下载的时候会自动创建好)
sudo mkdir -p /usr/local/nebula/logs/{meta,storage,graph}
# 赋予当前用户对整个 Nebula 目录的权限
sudo chown -R $USER:$USER /usr/local/nebula/
6. 启动服务
# 一键启动Meta、Storage、 Graph所有服务
sudo /usr/local/nebula/scripts/nebula.service start all
或者分别启动,方法如下:
# 启动 Meta
/usr/local/nebula/bin/nebula-metad --flagfile /usr/local/nebula/etc/nebula-metad.conf &
# 启动 Storage
/usr/local/nebula/bin/nebula-storaged --flagfile /usr/local/nebula/etc/nebula-storaged.conf &
# 启动 Graph
/usr/local/nebula/bin/nebula-graphd --flagfile /usr/local/nebula/etc/nebula-graphd.conf &
7. 安装 nebula-console
在官网https://github.com/vesoft-inc/nebula-console/releases下载对应版本的nebula-console,例如 nebula-console-linux-amd64-v3.6.0
# 修改名字
mv nebula-console-linux-amd64-v3.6.0 nebula-console
# 赋予执行权限
chmod +x nebula-console
# 移动到 nebula 的 bin 目录(方便调用)
sudo mv nebula-console /usr/local/nebula/bin/
8.添加 Storage 主机
# 查看进程
ps -ef | grep nebula
# 用客户端连接
/usr/local/nebula/bin/nebula-console -addr 127.0.0.1 -port 9669 -u root -p nebula
# 添加主机
ADD HOSTS 127.0.0.1:9779
# 连接成功后,执行
SHOW HOSTS;
如果能看到 meta 和 storage 信息,说明部署成功。
9.meta、 storage 、graph 三者的关系
简单说,NebulaGraph 的 Meta、Storage、Graph 三个服务各有明确分工,就像一个公司的不同部门:
1). Meta Service(元数据服务)
相当于 公司的 “行政 + 人事 + 档案中心”
-
负责管理全局元数据
-
图空间(Space)、标签(Tag)、边类型(Edge type)的定义
-
用户账号与权限
-
分区(Partition)与副本(Replica)的分布信息
-
-
集群管理
-
节点加入 / 下线
-
选举 Leader(用 Raft 协议)
-
-
数据位置索引
-
记录每个 Partition 在哪个 Storage 节点上
-
-
一般部署奇数个节点(3、5、7…),保证高可用
2) Storage Service(存储服务)
相当于 公司的 “仓库 + 档案室”
-
真正存储数据
-
顶点(Vertex)和边(Edge)的原始数据
-
按 Partition 分片存储,每个 Partition 有多个副本
-
-
数据读写与同步
-
处理插入、删除、更新请求
-
副本之间用 Raft 同步数据,保证一致性
-
-
支持分布式事务
-
多副本写入时保证原子性
-
-
可以水平扩展,加机器就能扩容存储和吞吐量
3) Graph Service(查询引擎服务)
相当于 公司的 “前台接待 + 业务处理中心”
-
接收客户端查询请求(nGQL 语句)
-
解析、优化、执行查询计划
-
把 nGQL 转成可执行的分布式任务
-
向 Meta 查询数据位置
-
向多个 Storage 节点并行读取数据
-
-
结果聚合与返回
-
对客户端透明,用户只需要连接 Graph 服务就能用 NebulaGraph
-
可以部署多个实例,做负载均衡
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐

所有评论(0)