说明
如果此节点未配置为运行进程内 ClickHouse Keeper,则此表不存在。该表为 Raft 集群中的每个成员各包含一行,将静态集群拓扑 (来自 Raft 配置) 与本地节点自身的日志位置结合在一起。
每个节点只会填写一个 last_log_index 值——也就是与其自身 server_id 对应的那一行。其他节点的日志位置不会在此处显示,因为这些位置仅在 leader 上跟踪,而这个视图在整个集群中并不是对称的。
列
server_id(Int32) — 此集群成员的 Raft server ID。host(String) — 从端点中解析出的主机 (最后一个冒号之前的前缀) 。endpoint(String) — 配置中的原始 Raft 端点 (host:port) 。is_observer(Bool) — 如果此成员是通过<can_become_leader>false</can_become_leader>配置的无投票权 observer,则为true。priority(Int32) — 此成员的 Raft 优先级;在 leader election 期间,值越高越优先。is_leader(Bool) — 如果此成员是当前的 Raft leader,则为true。is_self(Bool) — 如果此行描述的是本地 Keeper 节点,则为true。last_log_index(Nullable(UInt64)) — 此节点本地 Raft 日志存储中的最高日志索引。仅在与当前节点对应的行 (is_self = true) 中填充;其他行为NULL。
示例:
SELECT * FROM system.keeper_cluster ORDER BY server_id;┌─server_id─┬─host──┬─endpoint───┬─is_observer─┬─priority─┬─is_leader─┬─is_self─┬─last_log_index─┐
│ 1 │ node1 │ node1:9234 │ false │ 3 │ true │ true │ 42 │
│ 2 │ node2 │ node2:9234 │ false │ 2 │ false │ false │ ᴺᵁᴸᴸ │
│ 3 │ node3 │ node3:9234 │ true │ 1 │ false │ false │ ᴺᵁᴸᴸ │
└───────────┴───────┴────────────┴─────────────┴──────────┴───────────┴─────────┴────────────────┘