네이티브 프로토콜을 통해 clickhouse-keeper와 상호 작용하는 클라이언트 애플리케이션입니다.
옵션
-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인증 스킴용 아이덴티티입니다.CLICKHOUSE_KEEPER_IDENTITY환경 변수로도 설정할 수 있으며, XML 구성 파일의<zookeeper><identity>에서도 설정할 수 있습니다.--connection-timeout=TIMEOUT— 연결 타임아웃을 초 단위로 설정합니다. 기본값: 10초입니다.--session-timeout=TIMEOUT— 세션 타임아웃을 초 단위로 설정합니다. 기본값: 10초입니다.--operation-timeout=TIMEOUT— 작업 타임아웃을 초 단위로 설정합니다. 기본값: 10초입니다.--history-file=FILE_PATH— 이력 파일의 경로를 설정합니다. 기본값:~/.keeper-client-history.--log-level=LEVEL— 로그 레벨을 설정합니다. 기본값:information.--no-confirmation— 설정하면 일부 명령에서 확인을 요구하지 않습니다. 기본값은 대화형 모드에서false, 쿼리 모드에서true입니다.--help— 도움말 메시지를 표시합니다.
환경 변수
CLICKHOUSE_KEEPER_PASSWORD— 명령줄에서--password를 지정하지 않으면 기본 비밀번호로 사용됩니다.CLICKHOUSE_KEEPER_IDENTITY— 명령줄에서--identity를 지정하지 않으면 기본 아이덴티티로 사용됩니다.
인증
인증이 필요한 Keeper server에 연결할 때 비밀번호는 다음 우선순위에 따라 확인됩니다(먼저 일치하는 항목이 적용됩니다).
--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>예시
./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명령어
ls '[path]' [watch_id]– 지정한 경로의 노드를 나열합니다(기본값: cwd). 필요에 따라watch_id로 식별되는 자식 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로 식별되는 데이터 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]'– 지정한 경로에서 자식 수가 임계값보다 큰 노드를 찾습니다(기본값.)delete_stale_backups– 현재 비활성 상태인 백업에 사용되던 ClickHouse 노드를 삭제합니다find_big_family [path] [n]– 하위 트리에서 후손 수가 가장 많은 상위 n개 노드를 반환합니다(기본 경로 =.및 n = 10)sync '<path>'– 프로세스와 리더 간에 노드를 동기화합니다reconfig <add|remove|set> "<arg>" [version]– Keeper 클러스터를 재구성합니다. /docs/en/guides/sre/keeper/clickhouse-keeper#reconfiguration을 참조하십시오