关于Redis Cluster集群搭建只能正常启动一个的问题

关于Redis Cluster集群搭建只能正常启动一个的问题


问题描述

通过启动文件启动redis cluster,但发现只有一个redis启动成功(第一个),通过查看进程发现只有一个对应的进程。

ps -ef|grep redis #查看redis进程

解决方案:

1、检测基本配置

注意配置不同的端口(port),防止端口冲突;要开启redis cluster集群(cluster-enabled yes);注释掉redis的密码设置(# requirepass)

# Redis服务器可以跨网络访问
bind 0.0.0.0
# 修改端口号
port 7001
# Redis后台启动
daemonize yes
# 开启aof持久化
appendonly yes
# 开启集群
cluster-enabled yes
# 集群的配置 配置文件首次启动自动生成
cluster-config-file nodes-7001.conf
# 请求超时
cluster-node-timeout 5000

注释掉密码

# requirepass 123456

2、修改配置cluster-config-file

当集群启动起来会生成一个配置文件,文件名为cluster-config-file指定的名字,而文件的生成路径有一个默认的路径(我的在src目录下)。因此要注意如果实在同一个虚拟机搭建的redis cluster,那么如果cluster-config-file指定的都为同一个名字,那么就会造成冲突,此时只有第一个启动的redis cluster-config-file生成成功,这也就解释了为什么集群中只有第一个redis启动成功。因此最好在cluster-config-file指定文件名后面加上对应端口号。

cluster-config-file nodes-7001.conf

此时默认路径下的集群配置文件

3、修改配置pidfile

当Redis以守护进程方式运行时,Redis默认会把pid写入pidfile指定的路径中。为了防止冲突,可以将pidfile设定为不同的路径,或者设定为同一个路径但在文件名末尾加上对应的端口号即可。

pidfile "/var/run/redis_7001.pid"

启动成功!


技术小白,有错欢迎指出!

经验分享 程序员 微信小程序 职场和发展