Neo4j集群搭建

Neo4j集群搭建

Neo4j是一个高性能的图数据库,它将结构化数据存储到网络上而不是表中,它是一个嵌入式的、基于磁盘的、具备完全事务特性的java持久化引擎,Neo4j也可以被看作是一个高性能的图引擎,该引擎具有成熟数据库的所有特性

NEO4J提供了两种集群模式,一种是HA(主备模式),在neo4j 4.0之后就废弃了;另外一种是因果集群模式(causal cluster)

搭建HA集群

(1)准备

官方文档地址:https://neo4j.com/docs/operations-manual/3.5/clustering/setup-new-cluster/

本次安装neo4j版本:3.5.35,3版本支持java 8版本,4版本需要更高的java版本(11或17)

下载安装包:http://dist.neo4j.org/neo4j-enterprise-3.5.35-unix.tar.gz

准备三台机器:192.168.2.80、192.168.2.72 (master)、192.168.2.33

群集必须具有法定人数才能选举新的主服务器。法定人数定义为:活动集群成员的50%以上。设计集群时的经验法则是:必须能够容忍n个主实例故障的集群需要2n + 1个实例来满足仲裁并允许进行选举。因此,最简单的有效群集大小是三个实例,这允许单个主服务器故障。

环境:三台机器必须安装java 8版本环境,修改主机名,配置hosts文件,节点之间互相免密,关闭防火墙

(2)安装neo4j
cd /opt/
wget http://dist.neo4j.org/neo4j-enterprise-3.5.35-unix.tar.gz
tar -zxvf neo4j-enterprise-3.5.35-unix.tar.gz

配置三个节点的neo4j.conf文件

主节点:

//在默认配置下,Neo4j只接受本地连接,配置本机ip
dbms.connectors.default_listen_address=192.168.2.80
//客户端可以访问该服务器的地址。这可能是服务器的IP地址或DNS名称
dbms.connectors.default_advertised_address=192.168.2.80
//neo4j集群模式
dbms.mode=HA
//id=1表示主节点
ha.server_id=1
//集群初始化三个节点信息
ha.initial_hosts=192.168.2.80:5001,192.168.2.72:5001,192.168.2.33:5001
//此实例要侦听的IP和端口,用于通信集群状态
ha.host.coordination=192.168.2.80:5001
//此实例要监听的IP和端口,用于通信事务
ha.host.data=192.168.2.80:6001
//是否开启bolt连接方式
dbms.connector.bolt.enabled=true
//bolt监听地址
dbms.connector.bolt.listen_address=192.168.2.80:7687
//是否开启http连接方式
dbms.connector.http.enabled=true
//http监听地址
dbms.connector.http.listen_address=192.168.2.80:7474
//是否开启https连接方式
dbms.connector.https.enabled=true
//https监听地址
dbms.connector.https.listen_address=192.168.2.80:7473

丛节点

//在默认配置下,Neo4j只接受本地连接,配置本机ip
dbms.connectors.default_listen_address=192.168.2.72
//客户端可以访问该服务器的地址。这可能是服务器的IP地址或DNS名称
dbms.connectors.default_advertised_address=192.168.2.72
//neo4j集群模式
dbms.mode=HA
//id=1表示主节点
ha.server_id=2
//集群初始化三个节点信息
ha.initial_hosts=192.168.2.80:5001,192.168.2.72:5001,192.168.2.33:5001
//此实例要侦听的IP和端口,用于通信集群状态
ha.host.coordination=192.168.2.72:5001
//此实例要监听的IP和端口,用于通信事务
ha.host.data=192.168.2.72:6001
//是否开启bolt连接方式
dbms.connector.bolt.enabled=true
//bolt监听地址
dbms.connector.bolt.listen_address=192.168.2.72:7687
//是否开启http连接方式
dbms.connector.http.enabled=true
//http监听地址
dbms.connector.http.listen_address=192.168.2.72:7474
//是否开启https连接方式
dbms.connector.https.enabled=true
//https监听地址
dbms.connector.https.listen_address=192.168.2.72:7473

从节点

//在默认配置下,Neo4j只接受本地连接,配置本机ip
dbms.connectors.default_listen_address=192.168.2.33
//客户端可以访问该服务器的地址。这可能是服务器的IP地址或DNS名称
dbms.connectors.default_advertised_address=192.168.2.33
//neo4j集群模式
dbms.mode=HA
//id=1表示主节点
ha.server_id=3
//集群初始化三个节点信息
ha.initial_hosts=192.168.2.80:5001,192.168.2.72:5001,192.168.2.33:5001
//此实例要侦听的IP和端口,用于通信集群状态
ha.host.coordination=192.168.2.33:5001
//此实例要监听的IP和端口,用于通信事务
ha.host.data=192.168.2.33:6001
//是否开启bolt连接方式
dbms.connector.bolt.enabled=true
//bolt监听地址
dbms.connector.bolt.listen_address=192.168.2.33:7687
//是否开启http连接方式
dbms.connector.http.enabled=true
//http监听地址
dbms.connector.http.listen_address=192.168.2.33:7474
//是否开启https连接方式
dbms.connector.https.enabled=true
//https监听地址
dbms.connector.https.listen_address=192.168.2.33:7473
(3)启动neo4j

进入到/bin目录下

./neo4j start/restart/stop //启动/重启/停止
(4)访问

http://192.168.2.80:7474/browser/

进入界面之后

输入用户名密码
在这里插入图片描述

账号:neo4j
密码:neo4J

之后会提示你修改密码,可以自行设定

连接成功之后
在这里插入图片描述

搭建因果集群

(1)准备

同HA集群设置

(2)安装neo4j

配置三个节点的neo4j.conf文件

主节点:

//该机器用于侦听传入消息的地址或网络接口
dbms.connectors.default_listen_address=192.168.2.80
//其他机器被告知连接的地址。在典型情况下,应将其设置为该服务器的完全限定域名或 IP 地址
dbms.connectors.default_advertised_address=192.168.2.80
//服务器实例的运行模式。主服务器设置为CORE
dbms.mode=CORE
//形成时集群中核心实例的最小数量。如果没有此设置定义的核心数量,则不会形成集群,通常应将其配置为完整且固定的数量。
causal_clustering.minimum_core_cluster_size_at_formation=3
//共识组中存在的最小 Core 实例数量。
causal_clustering.minimum_core_cluster_size_at_runtime=3
//可用于引导此核心或只读副本实例的一组初始核心集群成员的网络地址。在默认情况下,初始发现成员以逗号分隔的地址/端口对列表的形式给出,发现服务的默认端口为:5000。最好在所有核心服务器上将此参数设置为相同的值。
causal_clustering.initial_discovery_members=192.168.2.80:5000,192.168.2.72:5000,192.168.2.33:5000
//用于绑定集群成员发现管理通信的主机和端口
causal_clustering.discovery_listen_address=192.168.2.80:5000
//是否开启bolt连接方式
dbms.connector.bolt.enabled=true
//bolt监听地址
dbms.connector.bolt.listen_address=192.168.2.80:7687
//是否开启http连接方式
dbms.connector.http.enabled=true
//http监听地址
dbms.connector.http.listen_address=192.168.2.80:7474
//是否开启https连接方式
dbms.connector.https.enabled=true
//https监听地址
dbms.connector.https.listen_address=192.168.2.80:7473

从节点

//该机器用于侦听传入消息的地址或网络接口
dbms.connectors.default_listen_address=192.168.2.72
//其他机器被告知连接的地址。在典型情况下,应将其设置为该服务器的完全限定域名或 IP 地址
dbms.connectors.default_advertised_address=192.168.2.72
//服务器实例的运行模式。主服务器设置为CORE
dbms.mode=CORE
//形成时集群中核心实例的最小数量。如果没有此设置定义的核心数量,则不会形成集群,通常应将其配置为完整且固定的数量。
causal_clustering.minimum_core_cluster_size_at_formation=3
//共识组中存在的最小 Core 实例数量。
causal_clustering.minimum_core_cluster_size_at_runtime=3
//可用于引导此核心或只读副本实例的一组初始核心集群成员的网络地址。在默认情况下,初始发现成员以逗号分隔的地址/端口对列表的形式给出,发现服务的默认端口为:5000。最好在所有核心服务器上将此参数设置为相同的值。
可以通过配置该设置来修改此设置的行为causal_clustering.discovery_type
causal_clustering.initial_discovery_members=192.168.2.80:5000,192.168.2.72:5000,192.168.2.33:5000
//是否开启bolt连接方式
dbms.connector.bolt.enabled=true
//bolt监听地址
dbms.connector.bolt.listen_address=192.168.2.72:7687
//是否开启http连接方式
dbms.connector.http.enabled=true
//http监听地址
dbms.connector.http.listen_address=192.168.2.72:7474
//是否开启https连接方式
dbms.connector.https.enabled=true
//https监听地址
dbms.connector.https.listen_address=192.168.2.72:7473

从节点

//该机器用于侦听传入消息的地址或网络接口
dbms.connectors.default_listen_address=192.168.2.33
//其他机器被告知连接的地址。在典型情况下,应将其设置为该服务器的完全限定域名或 IP 地址
dbms.connectors.default_advertised_address=192.168.2.33
//服务器实例的运行模式。主服务器设置为CORE
dbms.mode=CORE
//形成时集群中核心实例的最小数量。如果没有此设置定义的核心数量,则不会形成集群,通常应将其配置为完整且固定的数量。
causal_clustering.minimum_core_cluster_size_at_formation=3
//共识组中存在的最小 Core 实例数量。
causal_clustering.minimum_core_cluster_size_at_runtime=3
//可用于引导此核心或只读副本实例的一组初始核心集群成员的网络地址。在默认情况下,初始发现成员以逗号分隔的地址/端口对列表的形式给出,发现服务的默认端口为:5000。最好在所有核心服务器上将此参数设置为相同的值。
可以通过配置该设置来修改此设置的行为causal_clustering.discovery_type
causal_clustering.initial_discovery_members=192.168.2.80:5000,192.168.2.72:5000,192.168.2.33:5000
//是否开启bolt连接方式
dbms.connector.bolt.enabled=true
//bolt监听地址
dbms.connector.bolt.listen_address=192.168.2.33:7687
//是否开启http连接方式
dbms.connector.http.enabled=true
//http监听地址
dbms.connector.http.listen_address=192.168.2.33:7474
//是否开启https连接方式
dbms.connector.https.enabled=true
//https监听地址
dbms.connector.https.listen_address=192.168.2.33:7473
(3)启动

进入/bin目录下

./neo4j start/restart/stop //启动/重启/停止
(4)访问
http://192.168.2.80:7474/browser/

进入界面之后
输入用户名密码

账号:neo4j
密码:neo4J

之后会提示你修改密码,可以自行设定
连接成功之后
在这里插入图片描述

Neo4j 是一款图数据库,可以用于存储和查询大规模的图数据。为了保证高可用性和性能,可以通过搭建 Neo4j 集群来实现。下面是 Neo4j 集群安装的步骤: 1. 下载 Neo4j Enterprise 版本,并解压到多个节点上。 2. 修改每个节点的配置文件 conf/neo4j.conf。将以下配置项修改为相应的值: ``` dbms.mode=CORE dbms.connectors.default_listen_address=<本机IP地址> dbms.connector.bolt.listen_address=:7687 dbms.connector.http.listen_address=:7474 ha.server_id=<节点ID,不同节点ID不同> ha.initial_hosts=<所有节点的IP地址和端口号> ``` 3. 在主节点上,执行以下命令启动集群: ``` bin/neo4j-admin ha-init ``` 4. 在所有节点上执行以下命令启动 Neo4j 服务: ``` bin/neo4j start ``` 5. 在主节点上,执行以下命令将其他节点加入到集群中: ``` bin/neo4j-admin cluster join --host=<其他节点的IP地址> --port=5001 ``` 6. 在主节点上,执行以下命令将其他节点设置为从节点: ``` bin/neo4j-admin ha-slave ``` 7. 在从节点上,执行以下命令启动副本模式: ``` bin/neo4j-backup -from <主节点的IP地址> -backupDir <备份目录> bin/neo4j-admin unbind bin/neo4j-admin set-cluster-role --role=READ_REPLICA bin/neo4j start ``` 8. 测试集群是否正常工作。可以使用浏览器或者 Neo4j 客户端连接到集群,并执行一些查询操作。 以上是 Neo4j 集群安装的基本步骤,具体实现还需要根据实际情况进行调整。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值