redis flushdb造成的哨兵漂移

     年前发现一redis数据量过大,数据不大正常,和研发商量使用flushall进行清理。在主节点执行,执行完后发现master漂移到其他节点,然后数据又从其他节点同步过来了。。于是在三台机器上同时执行flushall,再检查发现数据已清理完毕,redis集群状态正常。
经分析,由于数据量较大,flushall的时间需要将近6s,且是阻塞的,由于哨兵3s连接不上就会重新选举master节点,导致master漂移。
    处理办法:1、同时在三台机器上执行flushall操作
                    2、停止哨兵,在master节点上执行flushall操作,然后再启动哨兵
                    3、轮流重启redis,关闭以后需要清理rdb数据。(此操作未执行,也有数据回写的问题,可能还需要停止哨兵来配合,风险较大)。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28686045/viewspace-2151224/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/28686045/viewspace-2151224/