clickhouse-keeper-client 유틸리티

clickhouse-keeper-client 유틸리티 (clickhouse-keeper-client utility)

clickhouse-keeper-client는 네이티브 프로토콜로 clickhouse-keeper와 상호작용하는 클라이언트 애플리케이션이에요. 대화형 모드와 쿼리 모드를 지원합니다.

출처: 문서

본문

네이티브 프로토콜로 clickhouse-keeper와 상호작용하는 클라이언트 애플리케이션입니다.

키 (Keys)

  • -q QUERY, --query=QUERY — 실행할 쿼리. 이 파라미터를 전달하지 않으면 clickhouse-keeper-client는 대화형 모드로 시작합니다.
  • -h HOST, --host=HOST — 서버 호스트. 기본값: localhost.
  • -p N, --port=N — 서버 포트. 기본값: 9181
  • -c FILE_PATH, --config-file=FILE_PATH — 연결 문자열을 가져올 설정 파일의 경로. 기본값: config.xml.
  • --password=PASSWORD — 인증용 비밀번호. CLICKHOUSE_KEEPER_PASSWORD 환경 변수나 XML 설정 파일의 <zookeeper><password>로도 설정할 수 있습니다.
  • --identity=IDENTITYdigest 인증 체계용 identity. CLICKHOUSE_KEEPER_IDENTITY 환경 변수나 XML 설정 파일의 <zookeeper><identity>로도 설정할 수 있습니다.
  • --connection-timeout=TIMEOUT — 연결 타임아웃(초)을 설정합니다. 기본값: 10s.
  • --session-timeout=TIMEOUT — 세션 타임아웃(초)을 설정합니다. 기본값: 10s.
  • --operation-timeout=TIMEOUT — 작업 타임아웃(초)을 설정합니다. 기본값: 10s.
  • --history-file=FILE_PATH — 히스토리 파일의 경로. 기본값: ~/.keeper-client-history.
  • --log-level=LEVEL — 로그 레벨을 설정합니다. 기본값: information.
  • --no-confirmation — 설정하면 여러 명령에서 확인을 요구하지 않습니다. 대화형에서는 기본값 false, 쿼리에서는 true
  • --help — 도움말 메시지를 표시합니다.

환경 변수 (Environment Variables)

  • CLICKHOUSE_KEEPER_PASSWORD — 명령줄에서 --password를 제공하지 않을 때 기본 비밀번호로 사용됩니다.
  • CLICKHOUSE_KEEPER_IDENTITY — 명령줄에서 --identity를 제공하지 않을 때 기본 identity로 사용됩니다.

인증 (Authentication)

인증이 필요한 Keeper 서버에 연결할 때 비밀번호는 다음 우선순위로 결정됩니다(먼저 일치하는 것이 우선):

  1. --password 명령줄 인자
  2. CLICKHOUSE_KEEPER_PASSWORD 환경 변수
  3. --config-file로 지정한 XML 설정 파일의 <zookeeper><password>

동일한 우선순위가 --identity / CLICKHOUSE_KEEPER_IDENTITY / <zookeeper><identity>에도 적용됩니다.

인증 설정이 포함된 XML 설정 파일 예시:

<clickhouse>
    <zookeeper>
        <password>secret</password>
        <node index="1">
            <host>localhost</host>
            <port>9181</port>
        </node>
    </zookeeper>
</clickhouse>

예시 (Example)

./clickhouse-keeper-client -h localhost -p 9181 --connection-timeout 30 --session-timeout 30 --operation-timeout 30
Connected to ZooKeeper at [::1]:9181 with session_id 137
/ :) ls
keeper foo bar
/ :) cd 'keeper'
/keeper :) ls
api_version
/keeper :) cd 'api_version'
/keeper/api_version :) ls

/keeper/api_version :) cd 'xyz'
Path /keeper/api_version/xyz does not exist
/keeper/api_version :) cd ../../
/ :) ls
keeper foo bar
/ :) get 'keeper/api_version'
2

명령 (Commands)

  • ls '[path]' [watch_id] — 주어진 경로(기본값: cwd)의 노드를 나열합니다. 선택적으로 watch_id로 식별되는 children watch를 설정합니다
  • cd '[path]' — 작업 경로(기본값 .)를 변경합니다
  • cp '<src>' '<dest>' — 'src' 노드를 'dest' 경로로 복사합니다
  • cpr '<src>' '<dest>' — 'src' 노드 하위 트리를 'dest' 경로로 복사합니다
  • mv '<src>' '<dest>' — 'src' 노드를 'dest' 경로로 이동합니다
  • mvr '<src>' '<dest>' — 'src' 노드 하위 트리를 'dest' 경로로 이동합니다
  • exists '<path>' [watch_id] — 노드가 존재하면 1, 그렇지 않으면 0을 반환합니다. 선택적으로 watch_id로 식별되는 watch를 설정합니다
  • set '<path>' <value> [version] — 노드의 값을 업데이트합니다. version이 일치할 때만 업데이트합니다(기본값: -1)
  • create '<path>' <value> [mode] — 설정된 값으로 새 노드를 만듭니다
  • touch '<path>' — 빈 문자열을 값으로 가진 새 노드를 만듭니다. 노드가 이미 존재해도 예외를 던지지 않습니다
  • get '<path>' [watch_id] — 노드의 값을 반환합니다. 선택적으로 watch_id로 식별되는 data watch를 설정합니다
  • watch <watch_id> [timeout_seconds]watch_id로 식별되는 watch 이벤트를 기다리고 이벤트 유형과 경로를 출력합니다. timeout_seconds를 지정하면 주어진 타임아웃 후 오류를 반환합니다
  • rm '<path>' [version] — version이 일치할 때만 노드를 제거합니다(기본값: -1)
  • rmr '<path>' [limit] — 하위 트리 크기가 limit보다 작으면 경로를 재귀적으로 삭제합니다. 확인이 필요합니다(기본 limit = 100)
  • flwc <command> — four-letter-word 명령을 실행합니다
  • help — 이 메시지를 출력합니다
  • get_direct_children_number '[path]' — 특정 경로 아래 직접 자식 노드의 수를 가져옵니다
  • get_all_children_number '[path]' — 특정 경로 아래 모든 자식 노드의 수를 가져옵니다
  • get_stat '[path]' — 노드의 stat을 반환합니다(기본값 .)
  • find_super_nodes <threshold> '[path]' — 주어진 경로(기본값 .)에서 자식 수가 threshold보다 큰 노드를 찾습니다
  • delete_stale_backups — 백업에 사용되지만 현재 비활성 상태인 ClickHouse 노드를 삭제합니다
  • find_big_family [path] [n] — 하위 트리에서 family가 가장 큰 상위 n개 노드를 반환합니다(기본 path = ., n = 10)
  • sync '<path>' — 프로세스와 리더 간에 노드를 동기화합니다
  • reconfig <add|remove|set> "<arg>" [version] — Keeper 클러스터를 재구성합니다. /docs/en/guides/sre/keeper/clickhouse-keeper#reconfiguration 참고

더 알아보기 (Learn more)