图数据库neo4j——linux因果集群搭建
目录1、简介:2、集群方案:3、Neo4j与jdk:4、下载软件包:5、上传软件包:6、解压软件包:7、配置环境变量:8、修改配置文件:(1)核心节点配置:A、配置数据存储位置:B、配置java堆内存:C、配置监听地址:D、配置监听端口号:E、配置服务内部发现地址:F、配置节点类型:G、配置集群核心节点最小数量:H、配置集群核心节点正常运行最小数量:I、配置集群监听端口号:J、配置集群初始化核心节
目录
1、简介:
Neo4j是一个高性能的,NOSQL图形数据库,本身就支持集群部署,今天要搭建的就是neo4j的因果集群。
核心节点:core-server,可以对数据进行读写的中心节点,通过选举确定leader、follower。主要职责是保护数据,在集群大多数核心服务器(N/2+1)个正常工作,就表示整个集群正常。
只读节点:read-replica,只提供数据访问的只读节点,需要连接核心节点,可以非常方便的进行扩展。
官网教程:https://neo4j.com/docs/operations-manual/3.5/clustering/introduction/
需要注意的是,neo4j的集群只是高可用性和核心节点、只读节点的读写和查询分开,并不支持数据的分布式,就是集群中的每个节点上都是一份完整的数据。
2、集群方案:
本地测试搭建集群采用:3个核心节点,3个只读节点。
服务器IP | 节点类型 | Bolt端口号 | http端口号 | https端口号 |
192.168.137.111 | 核心节点 | 7474 | 7687 | 7473 |
192.168.137.111 | 核心节点 | 7475 | 7688 | 7472 |
192.168.137.111 | 核心节点 | 7476 | 7689 | 7471 |
192.168.137.111 | 只读节点 | 7477 | 7690 | 7470 |
192.168.137.111 | 只读节点 | 7478 | 7691 | 7469 |
192.168.137.111 | 只读节点 | 7479 | 7692 | 7468 |
3、Neo4j与jdk:
Neo4j版本 | Jdk版本 |
4.2.5 | JDK11 |
4.1.8 | JDK11 |
4.0.11 | JDK11 |
3.5.28 | JDK8 |
4、下载软件包:
软件包下载地址(注意要下载企业版):https://neo4j.com/download-center/#enterprise
说明:在3.5版本以后的企业版是收费的了,如果需要可以找3.5以前的版本是免费的,比如:3.4.15-enterprise版本,如果找不到对应的下载包的地址,可以通过docker或docker-compose进行安装,这个是可以找到对应的3.4.15-enterprise版本的镜像。
5、上传软件包:
将下载好的软件包上传到服务器中指定的位置。
6、解压软件包:
将下载好的软件压缩包解压到指定的文件夹中。
7、配置环境变量:
如果是本地测试环境一台服务器部署多个neo4j实例,那么就不用配置neo4j的环境变量了,执行命令的时候到对应的neo4j实例的文件夹中执行;
如果是生产环境一台服务器只部署一个neo4j实例,那还是最好配置下neo4j的环境变量。如果也是一台服务器部署多个neo4j实例,那么就不用配置neo4j的环境变量了,同样启动的时候到对应neo4j实例文件夹中进行启动即可。
8、修改配置文件:
配置文件的位置为软件包解压的文件夹中conf/neo4j.conf文件。
(1)核心节点配置:
A、配置数据存储位置:
修改参数:dbms.directories.data,默认值为:data,即neo4j软件根文件夹中的data文件夹。
B、配置java堆内存:
修改参数:dbms.memory.heap.initial_size,dbms.memory.heap.max_size。默认为注解的,两个参数值一般大小一样。
C、配置监听地址:
修改参数:dbms.connectors.default_listen_address,默认为注解的,需要打开,如果允许远程访问就配置为:0.0.0.0
D、配置监听端口号:
修改参数:dbms.connector.bolt.listen_address,dbms.connector.http.listen_address,dbms.connector.https.listen_address,默认为注解的,需要打开。
检查:dbms.connector.bolt.enabled,dbms.connector.http.enabled,dbms.connector.https.enabled,这三个参数值为true。
E、配置服务内部发现地址:
修改参数:dbms.connectors.default_advertised_address,值为对应服务器的IP地址或者本地服务器上配置的对应域名。
F、配置节点类型:
修改参数:dbms.mode,值为:CORE或者READ_REPLICA,如果是核心节点就是:CORE,如果是只读节点就是:READ_REPLICA。
G、配置集群核心节点最小数量:
修改参数:causal_clustering.minimum_core_cluster_size_at_formation,值为集群中核心节点总数量的N/2+1。
H、配置集群核心节点正常运行最小数量:
修改参数:causal_clustering.minimum_core_cluster_size_at_runtime,值为集群中核心节点总数量的N/2+1,一般与核心节点最小数量参数一致。
I、配置集群监听端口号:
修改参数:causal_clustering.discovery_listen_address,值为对应的该节点在集群中被其它节点发现的端口号,端口号前边要加一个“冒号”。
J、配置集群初始化核心节点:
修改参数:causal_clustering.initial_discovery_members,值为集群中各个核心节点IP和causal_clustering.discovery_listen_address配置的端口号,多个节点用英文逗号分隔。
(2)只读节点配置:
A、配置数据存储位置:
修改参数:dbms.directories.data,默认值为:data,即neo4j软件根文件夹中的data文件夹。
B、配置java堆内存:
修改参数:dbms.memory.heap.initial_size,dbms.memory.heap.max_size。默认为注解的,两个参数值一般大小一样。
C、配置监听地址:
修改参数:dbms.connectors.default_listen_address,默认为注解的,需要打开,如果允许远程访问就配置为:0.0.0.0
D、配置监听端口号:
修改参数:dbms.connector.bolt.listen_address,dbms.connector.http.listen_address,dbms.connector.https.listen_address,默认为注解的,需要打开。
检查:dbms.connector.bolt.enabled,dbms.connector.http.enabled,dbms.connector.https.enabled,这三个参数值为true。
E、配置节点类型:
修改参数:dbms.mode,值为:CORE或者READ_REPLICA,如果是核心节点就是:CORE,如果是只读节点就是:READ_REPLICA。
K、配置集群初始化核心节点:
修改参数:causal_clustering.initial_discovery_members,值为集群中各个核心节点IP和causal_clustering.discovery_listen_address配置的端口号,多个节点用英文逗号分隔。
9、创建脚本:
如果是同一台服务器上部署多个neo4j实例,注意不同实例的neo4j启动脚本的位置和名称的区分。
(1)启动脚本:
创建启动neo4j的shell脚本,并授权777:
(2)停止脚本:
创建停止neo4j的shell脚本,并授权777
10、设置为服务:
如果是同一台服务器上部署多个neo4j实例,注意不同实例的neo4j启动服务的名称区分。
(1)创建服务脚本:
进入/usr/lib/systemd/system目录,创建neo4j.service文件:
(2)刷新systemctl服务:
执行命令:systemctl daemon-reload
(3)启动服务:
执行命令:systemctl start neo4j.service
(4)停止服务:
执行命令:systemctl stop neo4j.service
11、防火墙开通端口号:
如果防火墙关闭,那么就不用操作这个步骤了。如果防火墙开启,那么需要将配置的neo4j的http、bolt、https等对应的三个端口号放开。
12、启动集群:
先启动集群中的核心节点,然后再启动集群中的只读节点。进入集群中的每个服务器上,启动节点。
13、验证集群:
通过浏览器访问集群中任意一个核心节点,即可在web页面上看到整个集群节点的状态信息。在执行CQL的位置输入命令:CALL dbms.cluster.overview(),查看集群节点状态信息。
14、设置开机自启:
如果是同一台服务器上部署多个neo4j实例,注意不同实例的neo4j服务名称不同,设置开启的服务对应不同。
(1)将启动服务添加到开机自启:
设置neo4j开机启动,执行命令:systemctl enable neo4j.service
(2)重启服务器验证:
重新启动服务器,等服务器启动完毕后,在浏览器直接访问neo4j的数据库地址,查看是否自动启动成功。
更多推荐
所有评论(0)