redis主从切换但keepalived中vip未切换问题:READONLY You can ‘t write against a read only replica
项目场景:提示:这里简述项目相关背景:因业务需要,搭建了三台redis集群,使用哨兵(sentinel)+keepalived的方式https://blog.csdn.net/Liu_xiaoxing/article/details/122000495三台设备:10.97.141.43、10.97.141.44和10.97.141.45master:10.97.141.45(rsgyredisjq
项目场景:
提示:这里简述项目相关背景:
因业务需要,搭建了三台redis集群,使用哨兵(sentinel)+keepalived的方式
https://blog.csdn.net/Liu_xiaoxing/article/details/122000495
三台设备:10.97.141.43、10.97.141.44和10.97.141.45
master:10.97.141.45(rsgyredisjq03)
slave:10.97.141.43/10.97.141.44(rsgyredisjq01/rsgyredisjq02)
vip:10.97.141.52
问题描述
开发反应说连接vip报
READONLY You can 't write against a read only replica错误
原因分析:
因为主从切换,vip并没有切换过去,导致VIP登录的为从节点redis,而从节点是无法进行写入,或者删除操作的!
解决方案:
解决方式一:
可以把从节点修改权限 打开redis.conf,修改配置文件的slave-read-only为no
(因为安全问题,现场并不能允许这样改)
解决方式二:
由于主从切换,但vip却没有切换,我们定位到keepalived服务这里,检查我们的脚本是否有问题
vip生效时一个网卡会有两个地址:
- 看keepalived 运行状态:tail -f /var/log/messages
中间过程大概就是发现端口赋予不了地址,具体还是要看日志报错什么
最后是都重启了keepalived服务正常了 systemctl status keepalived.service
更多推荐
所有评论(0)