公司动态

CentOS 8上NebulaGraph图数据库RPM安装指南

📅 2026/8/4 1:53:10
CentOS 8上NebulaGraph图数据库RPM安装指南
1. NebulaGraph 简介与安装概述NebulaGraph 是一款开源的分布式图数据库专为处理超大规模关联数据而设计。它采用存储计算分离架构支持水平扩展能够高效处理千亿级顶点和万亿级边的图数据。在实际应用中NebulaGraph 常用于社交网络分析、金融反欺诈、知识图谱构建等场景。在 CentOS 8.x 系统上安装 NebulaGraph 主要有两种方式源码编译和 RPM 包安装。本文将重点介绍通过 RPM 包安装的完整流程这是生产环境中最推荐的方式具有以下优势依赖自动解决版本管理规范服务配置标准化便于后续升级维护重要提示CentOS 8 官方支持已于2021年底终止建议在生产环境使用 CentOS Stream 8 或迁移至其他兼容系统。若必须使用 CentOS 8.x需要配置正确的软件源。2. 安装前准备2.1 系统环境检查首先确认系统版本和架构cat /etc/centos-release uname -m输出应类似CentOS Linux release 8.5.2111 x86_64检查关键依赖rpm -q glibc openssl libstdc2.2 配置EPEL和NebulaGraph YUM源由于CentOS 8标准源已不可用需要配置备用源# 安装EPEL dnf install -y epel-release dnf config-manager --set-enabled powertools # 添加NebulaGraph官方源 cat /etc/yum.repos.d/nebula-graph.repo EOF [nebula-graph] nameNebulaGraph Repository baseurlhttps://repo.nebula-graph.io/yum/centos/8/x86_64/ enabled1 gpgcheck1 gpgkeyhttps://repo.nebula-graph.io/gpg.key EOF验证源可用性dnf makecache dnf repolist | grep nebula2.3 硬件资源准备最小硬件要求CPU4核内存8GB磁盘50GB SSD推荐网络千兆网卡生产环境建议每个存储节点16核CPU/64GB内存/NVMe SSD分离部署Graphd、Metad和Storaged服务3. RPM安装详细步骤3.1 安装核心组件执行以下命令安装最新稳定版dnf install -y nebula-graph nebula-graph-studio nebula-console安装特定版本示例为3.6.0dnf install -y nebula-graph-3.6.0 nebula-graph-studio-3.6.0验证安装rpm -qa | grep nebula nebula-graph --version3.2 目录结构说明安装完成后关键目录/usr/local/nebula/ ├── bin/ # 可执行文件 ├── etc/ # 配置文件 ├── logs/ # 日志文件 ├── scripts/ # 管理脚本 └── share/ # 资源文件3.3 配置文件调整主配置文件位置/etc/nebula-graph/nebula-graphd.conf /etc/nebula-graph/nebula-metad.conf /etc/nebula-graph/nebula-storaged.conf典型graphd配置修改--meta_server_addrs192.168.1.10:9559 --local_ip192.168.1.11 --port9669 --ws_http_port19669 --ws_h2_port19670注意生产环境必须修改默认端口(9669)和绑定IP(0.0.0.0)4. 服务管理与运维4.1 系统服务管理启用并启动服务systemctl enable nebula-graphd nebula-metad nebula-storaged systemctl start nebula-graphd检查服务状态systemctl status nebula-* nebula.service status all4.2 防火墙配置开放必要端口firewall-cmd --permanent --add-port{9669,9559,9779,19669,19670}/tcp firewall-cmd --reload4.3 日志查看与分析关键日志文件/var/log/nebula/graphd.INFO /var/log/nebula/storaged.WARNING实时日志监控tail -f /var/log/nebula/*.INFO日志级别调整临时curl -X PUT -H Content-Type: application/json -d {level:debug} \ http://localhost:19669/api/v1/set_flags?flagv5. 常见问题排查5.1 安装阶段问题问题1依赖冲突Error: Package: nebula-graph-3.6.0.x86_64 (nebula-graph) Requires: libstdc.so.6(GLIBCXX_3.4.20)(64bit)解决方案dnf install -y libstdc问题2端口冲突E20240425 15:30:12.123456 12345 NebulaGraphd.cpp:123] Port 9669 already in use解决方案ss -tulnp | grep 9669 kill PID 或修改配置文件中的端口号5.2 运行阶段问题问题3内存不足W20240425 16:20:45.789012 23456 MemoryLock.cpp:45] Failed to lock memory: Cannot allocate memory解决方案增加系统内存调整配置中的内存参数--system_memory_high_watermark_ratio0.8 --enable_memory_trackerfalse问题4磁盘空间不足E20240425 17:15:30.456789 34567 RocksEngine.cpp:789] No space left on device解决方案清理磁盘空间修改数据存储路径--data_path/mnt/nebula/data --wal_path/mnt/nebula/wal6. 基础验证与使用6.1 连接测试使用nebula-console连接nebula-console -addr 127.0.0.1 -port 9669 -u root -p nebula基本操作SHOW HOSTS; CREATE SPACE test(vid_typeFIXED_STRING(32)); USE test; CREATE TAG player(name string, age int);6.2 Studio可视化界面访问地址http://server_ip:7001初始配置连接Graphd服务地址输入用户名/密码默认root/nebula创建并切换Space6.3 性能基准测试使用内置压测工具nebula-bench \ --address127.0.0.1:9669 \ --userroot \ --passwordnebula \ --spacetest \ --casesgo.1hop7. 生产环境优化建议7.1 内核参数调优编辑/etc/sysctl.confvm.swappiness 1 vm.dirty_ratio 20 vm.dirty_background_ratio 10 net.core.somaxconn 1024应用配置sysctl -p7.2 存储优化推荐配置使用XFS文件系统挂载参数noatime,nodiratime,discard禁用透明大页echo never /sys/kernel/mm/transparent_hugepage/enabled7.3 监控配置Prometheus监控示例配置scrape_configs: - job_name: nebula static_configs: - targets: [192.168.1.10:9100] labels: instance: nebula_graphd关键监控指标graphd_qpsstoraged_heartbeat_latencymeta_num_edges