从离线安装到 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、关系库及其他图库放在同一坐标系横向比较。
网硕互联帮助中心



评论前必须登录!
注册