集群搭建
Neo4j是一个高性能的图数据库,它将结构化数据存储到网络上而不是表中,它是一个嵌入式的、基于磁盘的、具备完全事务特性的java持久化引擎,Neo4j也可以被看作是一个高性能的图引擎,该引擎具有成熟数据库的所有特性
本次安装neo4j版本:3.5.35,3版本支持java 8版本,4版本需要更高的java版本(11或17)
下载文件
IP | hostname | CPU | 内存 | 硬盘 | 系统 |
192.168.0.147 | neo4j1 | 4C | 4G | 20G | CentOS Linux release 7.9.2009 (Core) |
192.168.0.148 | neo4j2 | 4C | 4G | 20G | CentOS Linux release 7.9.2009 (Core) |
192.168.0.149 | neo4j3 | 4C | 4G | 20G | CentOS Linux release 7.9.2009 (Core) |
1、安装java8
将文件jdk文件上传到/opt/software上面
#解压
tar -zxvf jdk-8u212-linux-x64.tar.gz - C /usr/local/java/
#修改/etc/profile文件
export JAVA_HOME=/usr/local/java/jdk1.8.0_212/
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
# 重新加载环境变量
source /etc/profile
#添加软连接(不加后面会报错,找不到java)
ln -s /usr/local/java/jdk1.8.0_212/bin/java /usr/local/bin/java
#验证
java -version
2、关闭防火墙
开启命令:systemctl start firewalld
临时关闭命令:systemctl stop firewalld
永久关闭命令:systemctl disable firewalld
查看状态:systemctl status firewalld
3、修改hostname,并修改/etc/hosts文件
systemctl set-hostname neo4j1
systemctl set-hostname neo4j2
systemctl set-hostname neo4j3
sudo vim /etc/hosts
4、集群免密
(之前安装时忘截图,这里使用我之前安装CDH的截图,记得修改hostname的值)
使用ssh-keygen -t rsa生成秘钥
ssh-keygen -t rsa
使用ssh-copy-id 实现集群免密
5、下载安装包解压
压缩包上传到服务器的/opt 目录下
解压
tar -zxvf neo4j-enterprise-3.5.35-unix.tar.gz
6、修改节点配置文件
主节点
//在默认配置下,Neo4j只接受本地连接,配置本机ip
dbms.connectors.default_listen_address=192.168.0.147
//客户端可以访问该服务器的地址。这可能是服务器的IP地址或DNS名称
dbms.connectors.default_advertised_address=192.168.0.147
//neo4j集群模式
dbms.mode=HA
//id=1表示主节点
ha.server_id=1
//集群初始化三个节点信息
ha.initial_hosts=192.168.0.147:5001,192.168.0.148:5001,192.168.0.149:5001
//此实例要侦听的IP和端口,用于通信集群状态
ha.host.coordination=192.168.0.147:5001
//此实例要监听的IP和端口,用于通信事务
ha.host.data=192.168.0.147:6001
//是否开启bolt连接方式
dbms.connector.bolt.enabled=true
//bolt监听地址
dbms.connector.bolt.listen_address=192.168.0.147:7687
//是否开启http连接方式
dbms.connector.http.enabled=true
//http监听地址
dbms.connector.http.listen_address=192.168.0.147:7474
//是否开启https连接方式
dbms.connector.https.enabled=true
//https监听地址
dbms.connector.https.listen_address=192.168.0.147:7473
从节点1
//在默认配置下,Neo4j只接受本地连接,配置本机ip
dbms.connectors.default_listen_address=192.168.0.148
//客户端可以访问该服务器的地址。这可能是服务器的IP地址或DNS名称
dbms.connectors.default_advertised_address=192.168.0.148
//neo4j集群模式
dbms.mode=HA
//id=1表示主节点
ha.server_id=1
//集群初始化三个节点信息
ha.initial_hosts=192.168.0.147:5001,192.168.0.148:5001,192.168.0.149:5001
//此实例要侦听的IP和端口,用于通信集群状态
ha.host.coordination=192.168.0.148:5001
//此实例要监听的IP和端口,用于通信事务
ha.host.data=192.168.0.148:6001
//是否开启bolt连接方式
dbms.connector.bolt.enabled=true
//bolt监听地址
dbms.connector.bolt.listen_address=192.168.0.148:7687
//是否开启http连接方式
dbms.connector.http.enabled=true
//http监听地址
dbms.connector.http.listen_address=192.168.0.148:7474
//是否开启https连接方式
dbms.connector.https.enabled=true
//https监听地址
dbms.connector.https.listen_address=192.168.0.148:7473
从节点2
//在默认配置下,Neo4j只接受本地连接,配置本机ip
dbms.connectors.default_listen_address=192.168.0.149
//客户端可以访问该服务器的地址。这可能是服务器的IP地址或DNS名称
dbms.connectors.default_advertised_address=192.168.0.149
//neo4j集群模式
dbms.mode=HA
//id=1表示主节点
ha.server_id=1
//集群初始化三个节点信息
ha.initial_hosts=192.168.0.147:5001,192.168.0.148:5001,192.168.0.149:5001
//此实例要侦听的IP和端口,用于通信集群状态
ha.host.coordination=192.168.0.149:5001
//此实例要监听的IP和端口,用于通信事务
ha.host.data=192.168.0.149:6001
//是否开启bolt连接方式
dbms.connector.bolt.enabled=true
//bolt监听地址
dbms.connector.bolt.listen_address=192.168.0.149:7687
//是否开启http连接方式
dbms.connector.http.enabled=true
//http监听地址
dbms.connector.http.listen_address=192.168.0.149:7474
//是否开启https连接方式
dbms.connector.https.enabled=true
//https监听地址
dbms.connector.https.listen_address=192.168.0.149:7473
7、启动
进入到bin目录下
./neo4j start/restart/stop //启动/重启/停止
访问网址为:http://192.168.0.147:7474/browser/
默认账号密码:neo4j/neo4j
第一次登录需要修改密码
8、设置开机自启
(需要根据自己需要修改文件路径)
[root@neo4j3 neo4j-enterprise-3.5.35]# cat /etc/systemd/system/neo4j.service
[Unit]
Description=neo4j
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/opt/neo4j-enterprise-3.5.35/bin/neo4j start
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/opt/neo4j-enterprise-3.5.35/bin/neo4j stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
启动:systemctl start neo4j
停止:systemctl stop neo4j
重启:systemctl restart neo4j
查看状态:systemctl status neo4j
如果报下面错误,需要创建软连接
ln -s /usr/local/java/jdk1.8.0_212/bin/java /usr/local/bin/java
ERROR: Unable to find Java executable.