记录一次redis故障导致平台雪崩的问题
背景
现网redis三台机器配置的是一主两从,读写分离模式。
由于公司服务器资源不足,所以决定在redis机器上部署别的应用服务,刚部署好服务后,应用平台变得非常不稳定,间歇性的无法访问,页面报redis无法连接的错误,最后通过查看日志发现是主从挂掉了,挂掉的根本原因是新增的服务占用了大量内存,导致redis服务不稳定,进而又导致了主从同步失败,读写全部落到了主服务器上,导致机器负载特别大,内存严重不足,而内存不足(出现OOM),又进一步导致了主从无法正常恢复,无限循环导致了平台访问不稳定。
解决办法
1、查看日志
主服务器日志:
从服务器日志
2、通过查看日志发现是redis机器内存不足导致主从无法正常恢复。
3、解决方式
编辑文件 /etc/sysctl.conf 添加如下命令:
[yukw@redis2 ~]$ sudo vim /etc/sysctl.conf
vm.overcommit_memory=1
执行sysctl -p使其生效;