5分钟快3首页    注册   登录
5分钟快3 = way to explore
5分钟快3 是一个5分钟快3关于 分享和探索的地方
现在注册
已注册用户请  登录
SkSk666
5分钟快3  ›  Redis

看到一篇容器化 redis 的文章,有一个哨兵模式数据丢失的问题完全不能理解

  •  
  •   SkSk666 · 12 天前 · 1108 次点击
    http://www.infoq.cn/article/cS_Pp9r8Gjd9bpGpjTTv
    携程的 redis 容器化

    其中有一段写到:Master 挂了不希望 K8S 立刻把它拉起来,希望哨兵来感知到它,因为 K8S 如果在哨兵感知前拉起了它,导致哨兵还没切换 Master/Slave,Master 就活过来并且数据都丢失,这时候一同步到 Slave 上数据也全没有了,等于执行了一个清空操作,这对于业务和 DBA 来说是不能接受的。

    这种情况出现的原理是什么? Master 在挂了重新被拉起来,为什么数据会全部丢失?看上去这里的意思是指 Master 里的数据一点都没有了,不是指在 Master 挂了的时刻没有持久化的数据没有了。百思不得其解。。。。
    5 条回复    2020-03-26 17:56:51 +08:00
    fancy111
        1
    fancy111   12 天前
    。。。。 master 挂了内存清空当然没数据了啊,然后由于哨兵未切换,导致 master 还是 master,然后再把 master 同步到 slave,这样两个都空了
    dilu
        2
    dilu   12 天前
    就算不容器化,redis 的主库挂了也不能立刻重启,5分钟快3我 记得好像是 aof 文件如果有问题会导致 master 把 slave 的全部数据冲掉
    具体原理忘记了,反正一定要确保 aof 文件正常再重启
    julyclyde
        3
    julyclyde   12 天前
    @fancy111 “master 同步到 slave”这个操作不是按每个命令在 slave 重新执行一遍来实现的吗?5分钟快3我 记得不是复制整体内容啊?
    SkSk666
        4
    SkSk666   12 天前
    如果这个哨兵集群没有开启持久化,master 挂了,k8s 在哨兵感知前把 master 拉起来,此时 master 数据已经清空,导致同步到 slave 也清空。这个说得通。
    如果开启了持久化,k8s 重新拉起 master,此时哨兵还没有感知到 master 挂了,根本就不会切换 master,看上去只有 master 挂了的时刻没有持久化的数据会丢失

    不知道这样理解对不对
    PiersSoCool
        5
    PiersSoCool   11 天前
    @SkSk666 5分钟快3我 觉得也是,没有设置持久化就会丢失所有数据
    5分钟快3关于   ·   FAQ   ·   API   ·   5分钟快35分钟快3我 们 的愿景   ·   广告投放   ·   感谢   ·   实用小5分钟快3工具   ·   3991 人在线   最高记录 5168   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 09:47 · PVG 17:47 · LAX 02:47 · JFK 05:47
    ♥ Do have faith in what you're doing.