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

  • 可以部署多个实例,做负载均衡

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐