分享一下我遇到的redis集群异常问题。
redis报错:
redis.exceptions.ReadOnlyError: You can’t write against a read only replica.
排查思路
检查redis集群
连接到redis节点
redis-cli -c -h your_redis_node_ip -p your_redis_port
查看集群详细信息
cluster info
检查哨兵集群
连接到哨兵节点
redis-cli -h your_sentinel_node_ip -p your_sentinel_port
查看哨兵集群详细信息
SENTINEL masters
主要需要留意master节点是否存活,master节点id是否一致。
定位错误原因并解决
经过错误定位和排查后,发现是因为集群不存在master节点导致问题的出现,使用SLAVEOF NO ONE
将一个从节点升级为主节点问题解决。