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=IDENTITY—digest인증 체계용 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 서버에 연결할 때 비밀번호는 다음 우선순위로 결정됩니다(먼저 일치하는 것이 우선):
--password명령줄 인자CLICKHOUSE_KEEPER_PASSWORD환경 변수--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 참고