group_replication_unreachable_majority_timeout - xiaoboluo768/qianjinliangfang GitHub Wiki
- 当一个复制组因为某些原因导致被拆分为2个以上的部分时,这个时候,处于集群少数几点的部分无法对外提供服务,直到重新加入复制组中为止。为了防止网络分区造成的这种现象,该参数变量设置节点在无法连接到复制组时的超时时间。默认设置为0,这意味着如果发生网络分区,那么少数节点的部分会永远等待重新加入复制组中。例如:在一组5节点的复制组(S1,S2,S3,S4,S5)中,如果(S1,S2)和(S3,S4,S5)之间存在网络分区,则第一组(S1,S2)属于少数部分,(S3,S4,S5)属于多数部分,多数部分通过故障转移机制重新选举写节点,对外正常提供读写服务,但少数部分(S1,S2)将永远等待网络重新连接。少数部分节点的任何事务请求都将被阻塞,直到少数部分的组成员执行STOP GROUP REPLICATION停止组复制,或者重新加入复制组。如果group_replication_unreachable_majority_timeout参数变量设置为非零值,则少数部分的节点在与集群中的多数节点失联之后,讲回滚所有待处理事务,然后修改集群节点状态为ERROR,并设置自身为super_read_only = ON模式
- 警告:如果你有一个对称组,例如只有两个成员(S0,S2),这种集群架构下,如果发生网络分区,则两个部分都被判定我少数节点部分,整个集群都无法对外提供服务,这个时候,如果group_replication_unreachable_majority_timeout参数变量设置为非零值,那么所有节点在等待超时时间之后都会关闭并进入ERROR状态
- 全局变量,动态变量,整型值,默认值为0,取值范围为:0~31536000,MySQL 5.7.19版本引入
上一篇:group_replication_member_weight | 下一篇:Created_tmp_disk_tables