首批通过分布式安全可靠测评,为关键业务系统打造
如何配置选举配置项 election_blacklist_interval
更新时间:2026-06-12 07:31
OceanBase 数据库支持通过 election_blacklist_interval 来配置 leader 黑名单的持续时间。
适用版本
OceanBase 数据库所有版本。
election_blacklist_interval 配置项
在系统运行过程中,可能存在某些场景中 replica 上的副本均不能提供正常的读写服务,此时,leader 副本会触发主动卸任,进行无主选举,将其他副本选举为新的副本 leader,避免长时间影响业务。
election_blacklist_interval 用于配置 OceanBase 数据库 leader 黑名单的持续时间。当 leader 主动发生卸任后,从当前时间开始计时,后续 election_blacklist_interval 时间内,此副本保证不会被改选成 leader。其中,election_blacklist_interval 默认为 30 分钟。
有关 election_blacklist_interval 的详细信息,请参见 OceanBase 数据库《参考指南》中的 系统配置项 章节。
配置方法
通过 __all_virtual_election_info 表可以查询加入选举黑名单的 replica,其中 remaining_time_in_blacklist 表示距离离开黑名单剩余多少时间。
obclient> SELECT table_id, partition_idx, remaining_time_in_blacklist FROM __all_virtual_election_info WHERE remaining_time_in_blacklist > 0 LIMIT 10;
+---------------+---------------+-----------------------------+
| table_id | partition_idx | remaining_time_in_blacklist |
+---------------+---------------+-----------------------------+
| 1099511627780 | 9 | 1497435311 |
| 1099511627933 | 8 | 1498425041 |
| 1099511627882 | 11 | 1497635642 |
| 1099511627896 | 14 | 1498875464 |
| 1099511627922 | 1 | 1498415864 |
| 1099511627779 | 4 | 1498645978 |
| 1099511627888 | 4 | 1498725294 |
| 1099511627888 | 9 | 1497755128 |
| 1099511627930 | 0 | 1497895282 |
| 1099511627941 | 6 | 1498836165 |
+---------------+---------------+-----------------------------+
10 rows in set (0.00 sec)
将 election_blacklist_interval 设置为 0 后,OceanBase 数据库会关闭选举黑名单功能,并且上述 partition 会立即移出黑名单。
obclient> ALTER SYSTEM SET election_blacklist_interval = 0;
Query OK, 0 rows affected (0.01 sec)
obclient> SELECT table_id, partition_idx, remaining_time_in_blacklist FROM __all_virtual_election_info WHERE remaining_time_in_blacklist > 0 LIMIT 10;
Empty set (0.01 sec)