Redis集群启动问题

Redis集群启动问题

1、问题描述

[ERR] Node 192.168.43.175:7001 is not empty. Either the node already knows other nodes (check with CLUSTER NODES) or contains some key in database 0.

2、问题分析

这是由于redis集群在关闭的时候是非正常关闭,也就是俗称的宕机。redis服务器没来得及保存相关数据导致信息丢失。所以需要删除在本地的备份文件,重新启动服务器。

3、问题解决

由于要删除数据,这里直接简单粗暴的将redis进程杀死即可。首先通过ps -ef | grep redis命令获取redis进程的基本信息。然后直接将进程kill,注意:这里kill的是cluster进程。再次运行ps -ef | grep redis命令,验证进程已经被强制终止。按照这个方法,依次将集群中其他redis服务器中止。

在这里插入图片描述

然后进入redis服务器本地文件所在目录,笔者的目录为/var/redis。我们选择进入一个服务器目录,如7001,我们发现里面有nodes.conf等文件,我们需要将这些文件全部删除。运行rm -rf *,再次查看该文件夹,发现我们的文件已经被删除。按照这个方法依次将集群中的文件全部删除即可。

在这里插入图片描述

然后依次启动服务器。运行./redis_7001 start。出现/var/run/redis_7001.pid exists, process is already running or crashed问题。需要将其删除。运行rm -rf /var/run/redis_7001.pid。再次启动服务器。服务器可以正常启动了。

在这里插入图片描述

最后再次运行集群启动命令/usr/local/bin/redis-trib.rb create --replicas 1 192.168.43.175:7001 192.168.43.175:7002 192.168.43.176:7003 192.168.43.176:7004 192.168.43.177:7005 192.168.43.177:7006。即可成功启动整个集群。

在这里插入图片描述

4、总结

如果不是异常或其他特殊情况,一定要正常关闭redis集群,这样再次启动会避免很多麻烦。可能写的有点啰嗦。但是要是以前有博主可以一步一步的写出来,我也不至于花很长时间调试了,不说了,都是泪。继续搬砖了。

点个赞再走呗!欢迎留言哦!

### Redis集群启动报错解决方案 当尝试创建Redis集群时遇到`Connection refused`错误,这通常意味着客户端无法与指定地址上的服务器建立TCP连接。此问题可能由多种原因引起。 #### 检查防火墙设置 确保所有涉及的机器之间的网络通信畅通无阻。如果存在防火墙,则需确认端口未被阻止。对于本案例中的情况,应该允许7001至7006这些端口间的访问[^2]。 #### 验证实例状态 另一个常见的原因是目标主机上并没有正在监听该端口号的服务进程。可以通过执行如下命令验证各个节点是否正常运行: ```bash ps aux | grep redis-server ``` 上述命令会列出当前系统内所有的Redis服务及其对应的配置文件路径。若发现缺少预期中的某些实例,则可能是由于它们未能成功启动所致;此时应查阅日志文件以获取更多信息[^3]。 #### 清理已有数据 有时即使表面上看起来一切正常,但如果之前已经有过一次失败的安装过程或是实验性的部署操作残留下来的数据可能会干扰新的初始化流程。因此建议先清理掉旧有的数据库记录再重试: ```bash rm -rf /var/lib/redis/* ``` 注意备份重要资料后再做删除动作! #### 修改配置参数 最后还有一种可能性是因为默认情况下Redis仅绑定到本地回环接口(`127.0.0.1`)而非外部网卡IP地址,从而使得远程连接变得可能实现。编辑每台设备上的`/etc/redis.conf`文档,在其中找到关于bind字段的部分将其更改为实际使用的静态公网IPv4数值即可解决问题[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值