千家信息网

Neo4j HA环境配置

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,Neo4j作为一个图数据库,其名字的由来其实与其在底层的存储方式有关,Neo4j底层会以图的方式把用户定义的节点以及关系存储起来,通过这种方式,可是高效的实现从某个节点开始,通过节点与节点间关系,找出
千家信息网最后更新 2026年10月31日Neo4j HA环境配置

Neo4j作为一个图数据库,其名字的由来其实与其在底层的存储方式有关,Neo4j底层会以图的方式把用户定义的节点以及关系存储起来,通过这种方式,可是高效的实现从某个节点开始,通过节点与节点间关系,找出两个节点间的联系。
目前Neo4j常见于以下使用场景:
社交网络
基于图的搜索
推荐引擎
企业基础设施及网络架构
如:天眼查网站各企业之间关联关系图等。
本文重点介绍HA环境的部署,在一台服务器上模拟三个节点。实际生产环境可分开在不同的服务器部署,配置文件按照不同的IP及端口做相应的修改即可。

1、java环境

[root@appcan-t-app-7 ~]# more /etc/profileexport JAVA_HOME=/usr/local/jdk1.8.0_60export JRE_HOME=${JAVA_HOME}/jreexport CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/libexport PATH=${JAVA_HOME}/bin:$PATH[root@appcan-t-app-7 ~]# java -versionjava version "1.8.0_60"Java(TM) SE Runtime Environment (build 1.8.0_60-b27)Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)

2、下载社区版

wget https://neo4j.com/artifact.php?name=neo4j-community-3.4.9-unix.tar.gz (当前最新版本,可去网站选择适用版本)

3、安装

tar xf neo4j-community-3.4.9-unix.tar.gz -C /usr/local/cd /usr/local/neo4j-community-3.4.9-unix/./bin/neo4j-installer installsystemctl status neo4j-service

4、HA配置:

通过修改conf/neo4j.properties和conf/neo4j-server.properties文件完成HA配置。

Node01:
(1)conf/neo4j.properties:##ha.server_id = 1ha.server = 127.0.0.1:6363online_backup_server = 127.0.0.1:6366ha.cluster_server = 127.0.0.1:5001ha.initial_hosts = 127.0.0.1:5001,127.0.0.1:5002,127.0.0.1:5003**********************************************************************************************************************************(2)conf/neo4j-server.properties##org.neo4j.server.database.location=data/graph.dborg.neo4j.server.webserver.port=7474org.neo4j.server.webserver.address=0.0.0.0org.neo4j.server.webserver.https.port=7484org.neo4j.server.database.mode=HA
Node02:
(1)conf/neo4j.properties:##ha.server_id = 2ha.server = 127.0.0.1:6364online_backup_server = 127.0.0.1:6367ha.cluster_server = 127.0.0.1:5002ha.initial_hosts = 127.0.0.1:5001,127.0.0.1:5002,127.0.0.1:5003**********************************************************************************************************************************(2)conf/neo4j-server.properties##org.neo4j.server.database.location=data/graph.dborg.neo4j.server.webserver.port=7475org.neo4j.server.webserver.address=0.0.0.0org.neo4j.server.webserver.https.port=7485org.neo4j.server.database.mode=HA
Node03:
(1)conf/neo4j.properties:##ha.server_id = 3ha.server = 127.0.0.1:6365online_backup_server = 127.0.0.1:6368ha.cluster_server = 127.0.0.1:5003ha.initial_hosts = 127.0.0.1:5001,127.0.0.1:5002,127.0.0.1:5003**********************************************************************************************************************************(2)conf/neo4j-server.properties##org.neo4j.server.database.location=data/graph.dborg.neo4j.server.webserver.port=7476org.neo4j.server.webserver.address=0.0.0.0org.neo4j.server.webserver.https.port=7486org.neo4j.server.database.mode=HA

依次启动:
./bin/neo4j start
检测:
#jps
17131 CommunityBootstrapper
17324 CommunityBootstrapper
16959 CommunityBootstrapper

5、WEB界面

WEB界面展示:

6、Cypher基本操作【增删改查】

(1)插入节点:

插入一个Person类别的节点,且这个节点有一个属性name,属性值为Andres

CREATE (n:Person { name : 'Andres'});
(2)插入边:

插入一条a到b的有向边,且边的类别为Follow

MATCH (a:Person),(b:Person)WHERE a.name = 'Node A' AND b.name = 'Node B'CREATE (a)-[r:Follow]->(b);
(3)更新节点:

更新一个Person类别的节点,设置新的name。

MATCH (n:Person { name: 'Andres' })SET n.name = 'Taylor';
(4)删除节点和与其相连的边:

Neo4j中如果一个节点有边相连,是不能单单删除这个节点的。

MATCH (n:Person { name:'Andres' })DETACH DELETE n;
(5)删除边:
MATCH (a:Person)-[r:Follow]->(b:Person)WHERE a.name = 'Andres' AND b.name = 'Taylor'DELETE r;
(6)查询语句:

最短路径:

MATCH (ms:Person { name:'Andres' }),(cs:Person { name:'Taylor' }), p = shortestPath((ms)-[r:Follow]-(cs)) RETURN p;

查询两个节点之间的关系:

MATCH (a:Person { name:'Andres' })-[r]->(b:Person { name:'Taylor' })RETURN type(r);

查询一个节点的所有Follower:

MATCH (:Person { name:'Taylor' })-[r:Follow]->(Person)RETURN Person.name;
(7)创建Neo4j数据库

创建唯一性约束,同时具有索引效果,类似关系型数据库中的主键。注意,这只能在数据库中还未插入数据时设置。

CREATE CONSTRAINT ON (a:Person) ASSERT a.name IS UNIQUE;

创建索引:

CREATE INDEX ON :Person(name);

查看所有的节点数和边数:

MATCH (n) RETURN count(n);MATCH ()-->() RETURN count(*);
参考:

1、https://www.cnblogs.com/valleylord/p/3676607.html
2、http://www.cnblogs.com/rubinorth/p/5853204.html
3、https://neo4j.com/docs/2.0.2/ha-setup-tutorial.html

节点 数据 数据库 环境 配置 方式 类别 查询 不同 两个 之间 企业 属性 底层 文件 服务器 版本 界面 索引 网站 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广东万易互联网科技有限公司惠州分公司 上海睿民互联网科技有限公司 广州淘业互联网络科技 科技与互联网 厦门中拓互联网络科技有限公司 互联网科技资迅 以房互联网科技 新浪科技互联网 互联网科技公司名称 居家互联网科技有限公司 衡水科技产业互联网平台 来此购互联网科技有限公司 燊美集互联网科技有限公司 高科技互联网发展前景如何 玉溪新华互联网科技好不好 华中科技大学互联网的牛人 互联网科技包装股份有限公司上市 世界互联网科技成果奖 科技互联网经济论坛 互联网时代高科技布局 广州淘业互联网络科技 科技赋能下的互联网金融 美国互联网科技巨头监管 金诺互联网科技 互联网科技logo 搜狐科技互联网 广州新华互联网科技学校电竞方面 宁波跨境商互联网科技有限公司 马化腾互联网科技教学 恒生科技互联网指数十大成分股
0