redis cluster集群一些困惑
来源:1-1 课程介绍
慕妹2362023
2021-07-01
问题1:
cluster的槽位总共16834,那我用10个节点,每个节点平均1600多个槽位,那我一个key占用一个槽位,岂不是每个节点就最多能存储1600个key,就没办法使用了;
问题2:
redis-cluster,在rdb和aof下。应该如何开启 ,还是 在slave节点 上 开启 rdb或aof么,如果 那样的话,如果发生了主从切换,还需要修改配置文件么;
问题3:
–cluster-replicas 1:主节点数/从节点数的比例,使用一比一的比例,6 个节点最终会产生 3 主 3 从的集群环境,
1、如果我将 --cluster-replicas 2 最终6各节点会产生什么效果呢,是1个主2个从吗?
2、如果我将 --cluster-replicas 3 最终6各节点会产生什么效果呢,是1个主3个从吗?
问题4:
节点的配置纪元(config epoch) 表示到底什么含义,可以 理解为是每个节点的标识吗?
问题5:
redis cluster 集群出现掉电,当在起来后,有一台节点开启了firelld,然后就造成集群,出现了5主多从,然后停止master也不会故障转义,
通过cluster nodes 获取集群,在不同节点看到的信息不一样,怀疑是出现了脑裂;
然后通过 cluster reset重置了slave节点,重新接入第二个集群,但没有测试数据是否存在;
请问老师,出现脑裂,我这种处理方法对吗,或者出现脑裂的修复方法是什么;
问题6:
redis cluster集群,如果只剩下2主,2从,在坏掉一个主就无法进行故障转义,因为我理解的是他们两台,在坏一台没办法进行投票,或者 我的 理解不对,请老师指点;
1回答
-
InCowboy
2021-07-04
1、不是一个key占了整个槽,槽知识一个标记而已,不是说集群有16834就只能保存16834个key;
2、集群和持久化策略没有必然关系,根据实际需要选择开启方式即可,主从节点持久化方式建议保证一致,避免主从切换数据丢失;
3、cluster-replicas参数的含义就是集群主节点需要多少个从节点;
4、epoch你可以理解为Redis集群中节点的配置的版本号,节点配置,实际上是指节点所负责的槽位信息,主要解决不同节点配置的冲突问题;
5、脑裂是由于网络原因造成一个集群出现了多个主节点,导致数据无法同步而出现数据丢失,在6.0的配置文件中有min-replicas-to-write(默认是3)和min-replicas-max-lag(默认是10),这两个参数的含义就是假如有大于等于3个从redis的连接延迟大于10秒,那么主redis就不再接受外部的写请求,根据这个配置可以将master通信异常期间的数据丢失控制在10秒以内,然后等网络恢复了集群还是可以用的,具体脑裂可以看一下这篇文章:https://www.pianshen.com/article/28111128848/
6、投票是在主从之间进行的,这个是一个集群默认三主三从,当有一主一从挂了以后,集群不能使用的主要原因是无法进行槽位的计算了。
00
相似问题