NebulaGraph图数据库下载-NebulaGraph最新版本下载地址-NebulaGraph数据库下载方法
1. NebulaGraph图数据库简介
NebulaGraph是开源的分布式图数据库,专为超大规模图数据设计。NebulaGraph以其水平扩展能力、高性能查询和强一致性著称,特别适合社交网络、推荐系统、知识图谱等场景。更多学习教程www.fgedu.net.cn
NebulaGraph核心特点
分布式架构:支持水平扩展,处理PB级图数据
高性能:毫秒级查询响应,支持高并发
nGQL查询语言:类SQL的图查询语言,简单易学
强一致性:基于Raft协议,保证数据一致性
开源生态:完全开源,活跃的社区支持
2. NebulaGraph版本说明
NebulaGraph提供开源版和企业版,用户可根据需求选择。学习交流加群风哥微信: itpux-com
最新版本信息
NebulaGraph 3.8.0:最新稳定版本
NebulaGraph 3.6.0:稳定版本,广泛使用
NebulaGraph 3.4.x:历史稳定版本
NebulaGraph 2.x:历史长期支持版本
版本类型
开源版:完全开源免费,功能完整
企业版:商业版本,包含高级功能和技术支持
云服务版:NebulaGraph Cloud,托管服务
3. NebulaGraph下载地址
NebulaGraph可以从官方网站或GitHub获取安装包。
官方下载地址
官方网站:https://www.nebula-graph.com.cn/download
GitHub仓库:https://github.com/vesoft-inc/nebula
文档中心:https://docs.nebula-graph.com.cn/
下载安装包
# cd /fgeudb/software
# wget https://oss-cdn.nebula-graph.com.cn/package/3.8.0/nebula-graph-3.8.0.el7.x86_64.rpm
# 输出示例如下:
–2026-04-04 10:00:00– https://oss-cdn.nebula-graph.com.cn/package/3.8.0/nebula-graph-3.8.0.el7.x86_64.rpm
Resolving oss-cdn.nebula-graph.com.cn… 123.56.89.123
Connecting to oss-cdn.nebula-graph.com.cn|123.56.89.123|:443… connected.
HTTP request sent, awaiting response… 200 OK
Length: 104857600 (100M) [application/x-rpm]
Saving to: ‘nebula-graph-3.8.0.el7.x86_64.rpm’
nebula-graph-3.8.0.el7.x86_64.rpm 100%[===================>] 100.00M 20.5MB/s in 4.9s
2026-04-04 10:00:10 (20.5 MB/s) – ‘nebula-graph-3.8.0.el7.x86_64.rpm’ saved
# 验证下载文件
# ls -lh nebula-graph-3.8.0.el7.x86_64.rpm
-rw-r–r–. 1 root root 100M Apr 4 10:00 nebula-graph-3.8.0.el7.x86_64.rpm
4. 环境准备
在安装NebulaGraph之前,需要准备必要的系统环境。
系统要求
# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.9 (Maipo)
# 检查系统架构
# uname -m
x86_64
# 检查内存和磁盘空间
# free -h
total used free shared buff/cache available
Mem: 31G 2.1G 28G 8.5M 1.0G 28G
Swap: 15G 0B 15G
# df -h /fgeudb
Filesystem Size Used Avail Use% Mounted on
/dev/sdb1 500G 20G 480G 4% /fgeudb
# 创建NebulaGraph用户和组
# groupadd -g 5008 nebula
# useradd -g nebula -u 5008 -d /home/nebula -s /bin/bash nebula
# 创建安装目录
# mkdir -p /fgeudb/nebula/{data,logs,pids}
# chown -R nebula:nebula /fgeudb/nebula
# 配置系统参数
# vi /etc/sysctl.conf
fs.file-max = 65535
vm.max_map_count = 262144
# 使配置生效
# sysctl -p
5. RPM包安装实战
使用RPM包安装是最简单的方式,以下是详细步骤。学习交流加群风哥QQ113257174
步骤1:安装RPM包
# rpm -ivh nebula-graph-3.8.0.el7.x86_64.rpm
# 输出示例如下:
Preparing… ################################# [100%]
Updating / installing…
1:nebula-graph-3.8.0-1 ################################# [100%]
# 查看安装目录
# ls -la /usr/local/nebula/
total 16
drwxr-xr-x. 8 root root 4096 Apr 4 10:05 .
drwxr-xr-x. 3 root root 4096 Apr 4 10:00 ..
drwxr-xr-x. 2 root root 4096 Apr 4 10:05 bin
drwxr-xr-x. 2 root root 4096 Apr 4 10:05 etc
drwxr-xr-x. 2 root root 4096 Apr 4 10:05 lib
drwxr-xr-x. 2 root root 4096 Apr 4 10:05 logs
drwxr-xr-x. 2 root root 4096 Apr 4 10:05 pids
drwxr-xr-x. 2 root root 4096 Apr 4 10:05 scripts
# 设置权限
# chown -R nebula:nebula /usr/local/nebula
步骤2:配置NebulaGraph
# vi /usr/local/nebula/etc/nebula-metad.conf
# Meta服务配置
–meta_server_addrs=192.168.1.51:9559
–local_ip=192.168.1.51
–port=9559
–ws_ip=0.0.0.0
–ws_http_port=19559
–data_path=/fgeudb/nebula/data/meta
–log_dir=/fgeudb/nebula/logs
# 编辑Graph服务配置
# vi /usr/local/nebula/etc/nebula-graphd.conf
# Graph服务配置
–meta_server_addrs=192.168.1.51:9559
–local_ip=192.168.1.51
–port=9669
–ws_ip=0.0.0.0
–ws_http_port=19669
–log_dir=/fgeudb/nebula/logs
# 编辑Storage服务配置
# vi /usr/local/nebula/etc/nebula-storaged.conf
# Storage服务配置
–meta_server_addrs=192.168.1.51:9559
–local_ip=192.168.1.51
–port=9779
–ws_ip=0.0.0.0
–ws_http_port=19779
–data_path=/fgeudb/nebula/data/storage
–log_dir=/fgeudb/nebula/logs
# 保存配置文件
步骤3:启动服务
# /usr/local/nebula/scripts/nebula.service start metad
# 输出示例如下:
[INFO] Starting nebula-metad…
[INFO] Done
# 启动Storage服务
# /usr/local/nebula/scripts/nebula.service start storaged
# 输出示例如下:
[INFO] Starting nebula-storaged…
[INFO] Done
# 启动Graph服务
# /usr/local/nebula/scripts/nebula.service start graphd
# 输出示例如下:
[INFO] Starting nebula-graphd…
[INFO] Done
# 检查服务状态
# /usr/local/nebula/scripts/nebula.service status all
[INFO] nebula-metad(12345): Running as 12345, Listening on 9559
[INFO] nebula-storaged(12346): Running as 12346, Listening on 9779
[INFO] nebula-graphd(12347): Running as 12347, Listening on 9669
# 检查端口
# netstat -tlnp | grep nebula
tcp 0 0 0.0.0.0:9559 0.0.0.0:* LISTEN 12345/nebula-metad
tcp 0 0 0.0.0.0:9669 0.0.0.0:* LISTEN 12347/nebula-graphd
tcp 0 0 0.0.0.0:9779 0.0.0.0:* LISTEN 12346/nebula-storaged
6. Docker容器安装实战
使用Docker容器安装NebulaGraph是最快捷的方式,适合快速测试和开发环境。更多学习教程公众号风哥教程itpux_com
步骤1:拉取NebulaGraph镜像
# docker pull vesoft/nebula-graphd:v3.8.0
# docker pull vesoft/nebula-metad:v3.8.0
# docker pull vesoft/nebula-storaged:v3.8.0
# 输出示例如下:
v3.8.0: Pulling from vesoft/nebula-graphd
f1f26f570256: Pull complete
8f8e43ef9c3a: Pull complete
Digest: sha256:abc123def456…
Status: Downloaded newer image for vesoft/nebula-graphd:v3.8.0
# 查看镜像
# docker images | grep nebula
vesoft/nebula-graphd v3.8.0 abc123def456 2 weeks ago 200MB
vesoft/nebula-metad v3.8.0 def456ghi789 2 weeks ago 200MB
vesoft/nebula-storaged v3.8.0 ghi789jkl012 2 weeks ago 250MB
步骤2:使用Docker Compose部署
# vi /fgeudb/nebula/docker-compose.yaml
version: ‘3.4’
services:
metad:
image: vesoft/nebula-metad:v3.8.0
environment:
USER: root
command:
– –meta_server_addrs=metad:9559
– –local_ip=metad
– –ws_ip=metad
– –port=9559
– –ws_http_port=19559
– –data_path=/data/meta
ports:
– “9559:9559”
– “19559:19559”
volumes:
– ./data/meta:/data/meta
storaged:
image: vesoft/nebula-storaged:v3.8.0
environment:
USER: root
command:
– –meta_server_addrs=metad:9559
– –local_ip=storaged
– –ws_ip=storaged
– –port=9779
– –ws_http_port=19779
– –data_path=/data/storage
ports:
– “9779:9779”
– “19779:19779”
volumes:
– ./data/storage:/data/storage
depends_on:
– metad
graphd:
image: vesoft/nebula-graphd:v3.8.0
environment:
USER: root
command:
– –meta_server_addrs=metad:9559
– –local_ip=graphd
– –ws_ip=graphd
– –port=9669
– –ws_http_port=19669
ports:
– “9669:9669”
– “19669:19669”
depends_on:
– metad
# 启动服务
# cd /fgeudb/nebula
# docker-compose up -d
# 输出示例如下:
Creating nebula_metad_1 … done
Creating nebula_storaged_1 … done
Creating nebula_graphd_1 … done
# 检查容器状态
# docker-compose ps
Name Command State Ports
———————————————————————————————-
nebula_graphd_1 /usr/local/nebula/bin/nebu … Up 0.0.0.0:19669->19669/tcp, 0.0.0.0:9669->9669/tcp
nebula_metad_1 /usr/local/nebula/bin/nebu … Up 0.0.0.0:19559->19559/tcp, 0.0.0.0:9559->9559/tcp
nebula_storaged_1 /usr/local/nebula/bin/nebu … Up 0.0.0.0:19779->19779/tcp, 0.0.0.0:9779->9779/tcp
7. NebulaGraph配置优化
以下是生产环境的NebulaGraph配置优化建议。
Graph服务配置优化
# vi /usr/local/nebula/etc/nebula-graphd.conf
# 基础配置
–meta_server_addrs=192.168.1.51:9559,192.168.1.52:9559,192.168.1.53:9559
–local_ip=192.168.1.51
–port=9669
# 性能配置
–num_netio_threads=8
–num_worker_threads=32
–num_optimizer_threads=4
–max_job_size=32
# 查询配置
–max_iterations=2147483647
–max_space_properties=2147483647
–max_vertices=10000
–max_edges=10000
–max_var_len=100
# 内存配置
–system_memory_high_watermark_ratio=0.8
# 会话配置
–session_idle_timeout_secs=28800
–session_reclaim_interval_secs=60
# 保存配置文件
Storage服务配置优化
# vi /usr/local/nebula/etc/nebula-storaged.conf
# 基础配置
–meta_server_addrs=192.168.1.51:9559,192.168.1.52:9559,192.168.1.53:9559
–local_ip=192.168.1.51
–port=9779
–data_path=/fgeudb/nebula/data/storage
# 性能配置
–num_io_threads=8
–num_worker_threads=32
–num_handlers=4
# 存储配置
–wal_path=/fgeudb/nebula/data/storage/wal
–raft_heartbeat_interval_secs=30
–raft_election_timeout_secs=60
# 内存配置
–rocksdb_block_cache=4096
–rocksdb_write_buffer_size=64
# 保存配置文件
8. 安装验证与测试
安装完成后,需要进行验证测试确保NebulaGraph正常运行。
使用Nebula Console连接
# cd /fgeudb/software
# wget https://github.com/vesoft-inc/nebula-console/releases/download/v3.8.0/nebula-console-linux-amd64-v3.8.0
# chmod +x nebula-console-linux-amd64-v3.8.0
# mv nebula-console-linux-amd64-v3.8.0 /usr/local/bin/nebula-console
# 连接NebulaGraph
$ nebula-console -addr 192.168.1.51 -port 9669 -u root -p nebula
# 输出示例如下:
Welcome to Nebula Graph!
(root@nebula) [(none)]>
# 查看主机状态
(root@nebula) [(none)]> SHOW HOSTS;
+—————-+——+———-+————–+———————-+————————+
| Host | Port | Status | Leader count | Leader distribution | Partition distribution |
+—————-+——+———-+————–+———————-+————————+
| “192.168.1.51” | 9779 | “ONLINE” | 0 | “No valid partition” | “No valid partition” |
+—————-+——+———-+————–+———————-+————————+
# 查看服务状态
(root@nebula) [(none)]> SHOW HOSTS GRAPH;
+—————-+——+———-+———+————–+
| Host | Port | Status | Role | Git Info Sha |
+—————-+——+———-+———+————–+
| “192.168.1.51” | 9669 | “ONLINE” | “GRAPH” | “abc123def” |
+—————-+——+———-+———+————–+
创建图空间和Schema
(root@nebula) [(none)]> CREATE SPACE IF NOT EXISTS test_space(partition_num=10, replica_factor=1, vid_type=FIXED_STRING(32));
# 输出示例如下:
Execution succeeded (time spent 50.2ms/50.2ms)
# 使用图空间
(root@nebula) [(none)]> USE test_space;
# 输出示例如下:
Execution succeeded (time spent 1.5ms/1.5ms)
# 创建Tag(点类型)
(root@nebula) [test_space]> CREATE TAG IF NOT EXISTS person(name string, age int, city string);
# 输出示例如下:
Execution succeeded (time spent 20.5ms/20.5ms)
# 创建Edge Type(边类型)
(root@nebula) [test_space]> CREATE EDGE IF NOT EXISTS follow(degree int, since string);
# 输出示例如下:
Execution succeeded (time spent 15.3ms/15.3ms)
# 查看Tag
(root@nebula) [test_space]> SHOW TAGS;
+——————+
| Name |
+——————+
| “person” |
+——————+
# 查看Edge Type
(root@nebula) [test_space]> SHOW EDGES;
+——————+
| Name |
+——————+
| “follow” |
+——————+
插入和查询数据
(root@nebula) [test_space]> INSERT VERTEX person(name, age, city) VALUES “person1”:(“Zhang San”, 30, “Beijing”);
# 输出示例如下:
Execution succeeded (time spent 5.2ms/5.2ms)
(root@nebula) [test_space]> INSERT VERTEX person(name, age, city) VALUES “person2”:(“Li Si”, 28, “Shanghai”);
# 输出示例如下:
Execution succeeded (time spent 3.8ms/3.8ms)
(root@nebula) [test_space]> INSERT VERTEX person(name, age, city) VALUES “person3”:(“Wang Wu”, 32, “Guangzhou”);
# 输出示例如下:
Execution succeeded (time spent 3.5ms/3.5ms)
# 插入边数据
(root@nebula) [test_space]> INSERT EDGE follow(degree, since) VALUES “person1″->”person2”:(90, “2018”);
# 输出示例如下:
Execution succeeded (time spent 4.2ms/4.2ms)
(root@nebula) [test_space]> INSERT EDGE follow(degree, since) VALUES “person2″->”person3”:(80, “2019”);
# 输出示例如下:
Execution succeeded (time spent 3.8ms/3.8ms)
# 查询点数据
(root@nebula) [test_space]> MATCH (p:person) RETURN p.name, p.age, p.city;
+————+——–+————-+
| p.name | p.age | p.city |
+————+——–+————-+
| “Zhang San”| 30 | “Beijing” |
| “Li Si” | 28 | “Shanghai” |
| “Wang Wu” | 32 | “Guangzhou” |
+————+——–+————-+
# 查询边数据
(root@nebula) [test_space]> MATCH (p1:person)-[r:follow]->(p2:person)
RETURN p1.name, p2.name, r.degree, r.since;
+————+———–+———-+———+
| p1.name | p2.name | r.degree | r.since |
+————+———–+———-+———+
| “Zhang San”| “Li Si” | 90 | “2018” |
| “Li Si” | “Wang Wu” | 80 | “2019” |
+————+———–+———-+———+
# 路径查询
(root@nebula) [test_space]> MATCH p = (p1:person)-[:follow*1..2]->(p2:person)
RETURN p;
+——————————————————————+
| p |
+——————————————————————+
| <("person1")-[:follow@0]->(“person2”)> |
| <("person1")-[:follow@0]->(“person2”)-[:follow@0]->(“person3”)> |
| <("person2")-[:follow@0]->(“person3”)> |
+——————————————————————+
# 退出
(root@nebula) [test_space]> EXIT
REST API测试
$ curl -X POST “http://192.168.1.51:19669/graph-space” \
-H “Content-Type: application/json” \
-d ‘{“space”: “test_space”, “user”: “root”, “password”: “nebula”}’
# 输出示例如下:
{
“code”: 0,
“message”: “success”,
“data”: {
“session_id”: “abc123def456”
}
}
# 执行nGQL查询
$ curl -X POST “http://192.168.1.51:19669/exec” \
-H “Content-Type: application/json” \
-d ‘{“session_id”: “abc123def456”, “stmt”: “MATCH (p:person) RETURN p.name”}’
# 输出示例如下:
{
“code”: 0,
“message”: “success”,
“data”: {
“headers”: [“p.name”],
“rows”: [
[“Zhang San”],
[“Li Si”],
[“Wang Wu”]
]
}
}
至此,NebulaGraph图数据库的下载和安装已完成。后续可以根据实际业务需求创建图空间、设计Schema和优化查询。
本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html
