云计算百科
云计算领域专业知识百科平台

图数据库系列 · 第 04 篇部署实操:内网集群落地

从离线安装到 Neo4j 因果集群

目  录

一、导读与节点规划

二、单机离线安装

2.1 依赖与解压

2.2 基础配置 neo4j.conf

2.3 启动与验证

三、因果集群部署

3.1 集群要求

3.2 集群发现配置

3.3 启动与验证

四、运维与一键部署脚本

4.1 常用运维命令

4.2 一键部署脚本骨架

五、本篇小结

一、导读与节点规划

前两讲明确了架构与原理,本讲在内网环境从零落地。以 3 台虚机(g01 / 02 / 03)为例部署 Neo4j 因果集群。所有命令均可复制直接执行。需注意:Neo4j 社区版仅支持单机,集群(核心服务器 + 只读副本)为企业版功能。

节点

IP

角色

g01

10.10.10.81

核心服务器(Core,Leader 候选)

g02

10.10.10.82

核心服务器(Core)

g03

10.10.10.83

核心服务器(Core)

生产建议最小 3 个核心服务器,Raft 多数派即可容忍 1 台故障。示例 IP 可替换为实际内网环境。

二、单机离线安装

2.1 依赖与解压

Neo4j 由 Java 编写,需 JDK 17+。内网环境先把安装包放入内网源,再分发到各节点解压:

yum install -y java-17-openjdk

tar -zxvf neo4j-enterprise-2026.08.1-unix.tar.gz -C /usr/local/

mv /usr/local/neo4j-enterprise-2026.08.1 /usr/local/neo4j

echo "export NEO4J_HOME=/usr/local/neo4j" >> /etc/profile

useradd -r -M neo4j && chown -R neo4j:neo4j /usr/local/neo4j

企业版安装需接受许可协议,可提前设置 NEO4J_ACCEPT_LICENSE_AGREEMENT=yes 以便非交互安装。

2.2 基础配置 neo4j.conf

编辑 conf/neo4j.conf,配置监听地址、内存与认证:

# 监听与对外广播地址

server.default_listen_address=0.0.0.0

server.default_advertised_address=g01

server.bolt.enabled=true

# 内存(页缓存 + JVM 堆)

server.memory.pagecache.size=1G

server.memory.heap.initial_size=1G

server.memory.heap.max_size=1G

server.http.enabled=true

2.3 启动与验证

cd /usr/local/neo4j

bin/neo4j start

# 默认端口:HTTP 7474(浏览器界面)、Bolt 7687(驱动)

bin/cypher-shell -u neo4j -p 123456

> CREATE (a:Person {name:"Alice"});

> MATCH (n) RETURN count(n);

初始密码在首次登录时设置;可通过浏览器 http://g01:7474 访问 Neo4j Browser 可视化验证。

三、因果集群部署

3.1 集群要求

因果集群为企业版功能,需至少 3 个核心服务器并保证节点间时钟同步(可用 NTP / chrony)。三节点统一集群配置,靠发现列表互相识别组成集群。

3.2 集群发现配置

三个节点在 neo4j.conf 中声明同样的发现列表(resolver_type=LIST),并配置监听地址指向各自 IP:

# g01 / g02 / g03 三节点统一配置

server.default_listen_address=0.0.0.0

server.default_advertised_address=g01   # 每节点填各自主机名/IP

dbms.cluster.discovery.resolver_type=LIST

dbms.cluster.endpoints=g01:6000,g02:6000,g03:6000

dbms.cluster.endpoints 为集群成员发现端点(默认端口 6000),所有成员列表保持一致;各节点 advertised_address 指向自身。

3.3 启动与验证

cd /usr/local/neo4j && bin/neo4j start   # 三节点分别启动

bin/cypher-shell -u neo4j -p 123456

> CALL dbms.cluster.overview();   # 查看集群成员与角色

> SHOW SERVERS;                   # 查看服务器状态

> CREATE (a:Person {name:"Tom"}); # 验证写事务经 Raft 提交

三个节点均显示为核心服务器且互相可见,即集群形成。写事务由 Leader 提交并复制到多数派后确认,保障高可用。

四、运维与一键部署脚本

4.1 常用运维命令

bin/neo4j start | stop | status | restart

bin/cypher-shell -u neo4j -p 123456    # 命令行查询

bin/neo4j-admin database backup neo4j –to-path=/backups   # 在线备份

bin/neo4j-admin database dump neo4j –to-path=/backups      # 离线导出

bin/neo4j-admin database load neo4j –from-path=/backups    # 恢复

neo4j-admin 支持在线备份(企业版)与离线 dump/load,生产应定期备份数据库、配置、证书与插件目录。

4.2 一键部署脚本骨架

#!/bin/bash

# graph-deploy.sh —— 按 hostname 配置 Neo4j 并启动核心服务器

SELF=$(hostname)

IP=$(grep -F "$SELF" /etc/hosts | awk "{print $1}")

H="server.default_advertised_address=$SELF"

E="dbms.cluster.endpoints=g01:6000,g02:6000,g03:6000"

CFG=/usr/local/neo4j/conf/neo4j.conf

sed -i "s#^server.default_advertised_address.*#$H#" $CFG

grep -q "dbms.cluster.endpoints" $CFG \\

  || echo "$E" >> $CFG

sed -i "s#^server.default_listen_address.*#server.default_listen_address=0.0.0.0#" $CFG

su -s /bin/bash neo4j -c "/usr/local/neo4j/bin/neo4j start"

脚本仅演示核心逻辑,生产环境还需补充 systemd 托管、日志轮转、防火墙放行 7474/7687/6000、初始密码与数据目录授权。

五、本篇小结

本讲完成 Neo4j 图数据库的内网落地:先做单机离线安装(JDK + tar 包 + neo4j.conf + cypher-shell 验证),再基于 dbms.cluster.endpoints 发现列表搭建三核心服务器因果集群,并给出 neo4j-admin 备份与一键脚本骨架。

下一篇进入选型对比,把 Neo4j 与 NebulaGraph、关系库及其他图库放在同一坐标系横向比较。

赞(0)
未经允许不得转载:网硕互联帮助中心 » 图数据库系列 · 第 04 篇部署实操:内网集群落地
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!