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