system.keeper_cluster 시스템 테이블

system.keeper_cluster 시스템 테이블

system.keeper_cluster 는 인프로세스(in-process) ClickHouse Keeper를 실행하도록 이 노드가 구성된 경우에만 존재하는 테이블이에요. Raft 클러스터 멤버마다 하나의 행을 포함하며, 정적 클러스터 토폴로지(Raft 구성에서)와 로컬 노드 자신의 로그 위치를 합쳐 보여줘요.

출처: 문서

본문

ClickHouse Cloud에서의 조회 — 이 시스템 테이블의 데이터는 ClickHouse Cloud에서 각 노드에 로컬로 저장돼요. 따라서 모든 데이터의 완전한 뷰를 얻으려면 clusterAllReplicas 함수가 필요해요. 자세한 내용은 여기 를 참고하세요.

Description

이 테이블은 이 노드가 인프로세스 ClickHouse Keeper를 실행하도록 구성된 경우에만 존재해요. Raft 클러스터 멤버마다 하나의 행을 포함하며, 정적 클러스터 토폴로지(Raft 구성에서)를 로컬 노드 자신의 로그 위치와 합쳐 보여줘요. 모든 노드는 정확히 하나의 last_log_index 값만 채워요 — 자신의 server_id 와 일치하는 행에요. 피어 로그 위치는 리더에서만 추적되고 그 뷰는 클러스터 전반에 걸쳐 대칭적이지 않기 때문에 여기서는 표시하지 않아요.

Columns

  • server_id (Int32) — 이 클러스터 멤버의 Raft 서버 ID예요.

  • host (String) — 엔드포인트에서 파싱된 호스트예요(마지막 콜론 앞의 프리픽스).

  • endpoint (String) — 구성된 대로의 원시 Raft 엔드포인트(host:port)예요.

  • is_observer (Bool) — 이 멤버가 투표권이 없는 관찰자(observer)이면 true예요.

  • priority (Int32) — 이 멤버의 Raft 우선순위예요. 값이 높을수록 리더 선출 시 선호돼요.

  • is_leader (Bool) — 이 멤버가 현재 Raft 리더이면 true예요.

  • is_self (Bool) — 이 행이 로컬 Keeper 노드를 설명하면 true예요.

  • last_log_index (Nullable(UInt64)) — 이 노드의 로컬 Raft 로그 저장소에서 가장 높은 로그 인덱스예요. 현재 노드와 일치하는 행(is_self = true)에만 채워지고, 다른 행은 NULL이에요.

Examples

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   │           ᴺᵁᴸᴸ │
└───────────┴───────┴────────────┴─────────────┴──────────┴───────────┴─────────┴────────────────┘