Клиентское приложение для взаимодействия с 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— Задаёт тайм-аут подключения в секундах. Значение по умолчанию: 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— Показывает справку.
Переменные окружения
CLICKHOUSE_KEEPER_PASSWORD— Используется в качестве пароля по умолчанию, если--passwordне указан в командной строке.CLICKHOUSE_KEEPER_IDENTITY— Используется в качестве идентификатора по умолчанию, если--identityне указан в командной строке.
Аутентификация
При подключении к серверу Keeper, требующему аутентификации, пароль выбирается в следующем порядке приоритета (используется первое найденное значение):
- аргумент командной строки
--password - переменная окружения
CLICKHOUSE_KEEPER_PASSWORD <zookeeper><password>в XML-файле конфигурации, указанном через--config-file
Тот же порядок приоритета действует для --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_idcd '[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_idset '<path>' <value> [version]– Обновляет значение узла. Обновление выполняется только при совпадении версии (по умолчанию: -1)create '<path>' <value> [mode]– Создает новый узел с указанным значениемtouch '<path>'– Создает новый узел с пустой строкой в качестве значения. Не генерирует исключение, если узел уже существуетget '<path>' [watch_id]– Возвращает значение узла. При необходимости устанавливает наблюдение за данными с идентификаторомwatch_idwatch <watch_id> [timeout_seconds]– Ожидает событие наблюдения с идентификаторомwatch_idи выводит тип события и путь. Если указанtimeout_seconds, возвращает ошибку по истечении заданного тайм-аутаrm '<path>' [version]– Удаляет узел только при совпадении версии (по умолчанию: -1)rmr '<path>' [limit]– Рекурсивно удаляет путь, если размер поддерева меньше указанного ограничения. Требуется подтверждение (ограничение по умолчанию = 100)flwc <command>– Выполняет команду из четырех буквhelp– Выводит это сообщениеget_direct_children_number '[path]'– Возвращает количество непосредственных дочерних узлов для указанного путиget_all_children_number '[path]'– Возвращает общее количество дочерних узлов для указанного путиget_stat '[path]'– Возвращает статистику узла (по умолчанию.)find_super_nodes <threshold> '[path]'– Находит для указанного пути узлы, количество дочерних узлов у которых превышает заданный порог (по умолчанию.)delete_stale_backups– Удаляет узлы ClickHouse, используемые для резервных копий и ставшие неактивнымиfind_big_family [path] [n]– Возвращает n узлов с наибольшим числом потомков в поддереве (по умолчанию path =.и n = 10)sync '<path>'– Синхронизирует узел между процессами и лидеромreconfig <add|remove|set> "<arg>" [version]– Перенастраивает кластер Keeper. См. /docs/en/guides/sre/keeper/clickhouse-keeper#reconfiguration