上一篇
场景还原:凌晨3点,监控疯狂报警——Redis集群某个节点突然抽风,数据同步乱成一团🍜,老板明天要看的实时报表还依赖这组数据!这时候你需要的是最快、最稳的集群卸载重建方案,而不是对着文档抓狂😱。
先确认哪个节点在"搞事情":
redis-cli --cluster check <任意节点IP>:<端口>
看到 [ERR]
报错的那行就是罪魁祸首!记下它的IP和端口📝。
如果集群已经没救了,直接全停(慎用❗):
# 批量停止所有节点(假设用systemd管理) sudo systemctl stop redis@6379 redis@6380 redis@6381 # 按实际端口修改 # 如果节点散落在不同服务器: ssh user@node1 "sudo killall -9 redis-server" ssh user@node2 "sudo pkill -f redis-server"
💡 小技巧:用ps -ef | grep redis
确认进程是否彻底退出
Redis的倔强之处在于——光停服务不行,还得删数据💣:
# 默认路径清理(根据你的配置调整) sudo rm -rf /var/lib/redis/6379/* sudo rm -rf /var/log/redis_6379.log # 保险操作:连备份文件一起删 sudo find / -name "*.rdb" -exec rm {} \;
集群配置不清理?重建时必踩坑🕳️:
# 删除nodes.conf(位置可能不同) sudo rm /etc/redis/nodes-6379.conf
先拉起一个干净节点测试:
sudo systemctl start redis@6379 redis-cli -p 6379 flushall # 确保没脏数据
# 1. 创建新集群(6节点示例) redis-cli --cluster create \ 192.168.1.1:6379 192.168.1.2:6379 \ 192.168.1.3:6379 192.168.1.4:6379 \ 192.168.1.5:6379 192.168.1.6:6379 \ --cluster-replicas 1 # 2. 检查集群状态 redis-cli --cluster check 192.168.1.1:6379 # 3. 强制覆盖旧配置(遇到slot报错时) redis-cli --cluster fix --cluster-yes 192.168.1.1:6379
⚠️ 注意:生产环境记得加上--cluster-replicas 1
配置主从!
netstat -tulnp | grep 6379
复查 ls -l /var/lib/redis
二次确认 sudo systemctl stop firewalld
(测试完记得恢复!) 最后的大招:如果时间紧迫,直接上备机重建集群,再把流量切过去!毕竟能跑起来的集群才是好集群🏃♂️。
(本文操作基于Redis 7.2+版本验证,2025-08最新实践)
本文由 紫新荣 于2025-08-02发表在【云服务器提供商】,文中图片由(紫新荣)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vps.7tqx.com/wenda/516046.html
发表评论