关于分区表Leader分布

在OceanBase中,某租户的PRIMARY_ZONE设置为zone1,zone2,zone3 ,但查询分区表leader分布时发现leader只集中在zone1和zone2,zone3没有leader。最可能的原因是?

A. zone3的节点发生了宕机
B. PRIMARY_ZONE的优先级设置导致leader优先分布在zone1和zone2
C. 分区表只有2个副本
D. zone3的节点磁盘空间不足

1 个赞

正确答案:B
在 OceanBase 中,PRIMARY_ZONE 是控制分区 Leader 分布的关键配置:
用逗号 , 分隔的 Zone 属于同一优先级,用分号 ; 分隔的 Zone 才会按从高到低的优先级排序。
当 PRIMARY_ZONE 设置为 zone1,zone2,zone3 时,理论上三个 Zone 优先级相同,Leader 应均匀分布。但如果配置为 zone1,zone2;zone3(分号分隔),则 zone1/zone2 优先级高于 zone3,Leader 会优先调度到高优先级 Zone。
在题目场景中,Leader 只集中在 zone1 和 zone2,最可能的原因就是 PRIMARY_ZONE 的优先级设置导致 Leader 优先分布在 zone1 和 zone2(如配置中存在隐式或显式的优先级差异)。
其他选项分析:
A. zone3 宕机:虽然会导致 Leader 迁移,但题目没有给出故障相关信息,且宕机属于异常情况,不是 “最可能” 的常规原因。
C. 分区表只有 2 个副本:副本数和 Leader 分布的优先级逻辑无关,副本数决定数据冗余度,不直接影响 Leader 位置偏好。
D. zone3 磁盘空间不足:磁盘空间不足会影响数据写入,但不会直接导致 Leader 完全不分布在该 Zone,不是典型原因。