Une application cliente permettant d’interagir avec ClickHouse Keeper via son protocole natif.
Options
-q QUERY,--query=QUERY— Requête à exécuter. Si ce paramètre n'est pas fourni,clickhouse-keeper-clientdémarrera en mode interactif.-h HOST,--host=HOST— Hôte du serveur. Valeur par défaut :localhost.-p N,--port=N— Port du serveur. Valeur par défaut : 9181-c FILE_PATH,--config-file=FILE_PATH— Définit le chemin du fichier de configuration à utiliser pour récupérer la chaîne de connexion. Valeur par défaut :config.xml.--password=PASSWORD— Mot de passe pour l'authentification. Peut également être défini via la variable d'environnementCLICKHOUSE_KEEPER_PASSWORDou dans le fichier de configuration XML sous<zookeeper><password>.--identity=IDENTITY— Identité pour le schéma d'authentificationdigest. Peut également être définie via la variable d'environnementCLICKHOUSE_KEEPER_IDENTITYou dans le fichier de configuration XML sous<zookeeper><identity>.--connection-timeout=TIMEOUT— Définit le délai d'expiration de connexion en secondes. Valeur par défaut : 10s.--session-timeout=TIMEOUT— Définit le délai d'expiration de session en secondes. Valeur par défaut : 10s.--operation-timeout=TIMEOUT— Définit le délai d'expiration de l'opération en secondes. Valeur par défaut : 10s.--history-file=FILE_PATH— Définit le chemin du fichier d'historique. Valeur par défaut :~/.keeper-client-history.--log-level=LEVEL— Définit le niveau de journalisation. Valeur par défaut :information.--no-confirmation— Si défini, ne demandera pas de confirmation pour plusieurs commandes. Valeur par défaut :falseen mode interactif ettruepour la requête--help— Affiche le message d'aide.
Variables d'environnement
CLICKHOUSE_KEEPER_PASSWORD— Utilisée comme mot de passe par défaut si--passwordn'est pas indiqué sur la ligne de commande.CLICKHOUSE_KEEPER_IDENTITY— Utilisée comme identité par défaut si--identityn'est pas indiqué sur la ligne de commande.
Authentification
Lors de la connexion à un serveur Keeper qui nécessite une authentification, le mot de passe est déterminé selon l'ordre de priorité suivant (la première correspondance l'emporte) :
- argument de ligne de commande
--password - variable d'environnement
CLICKHOUSE_KEEPER_PASSWORD <zookeeper><password>dans le fichier de configuration XML spécifié par--config-file
Le même ordre de priorité s'applique à --identity / CLICKHOUSE_KEEPER_IDENTITY / <zookeeper><identity>.
Exemple de fichier de configuration XML avec les paramètres d'authentification :
<clickhouse>
<zookeeper>
<password>secret</password>
<node index="1">
<host>localhost</host>
<port>9181</port>
</node>
</zookeeper>
</clickhouse>Exemple
./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'
2Commandes
ls '[path]' [watch_id]– Liste les nœuds du chemin indiqué (par défaut : cwd). Définit éventuellement un watch sur les enfants identifié parwatch_idcd '[path]'– Change le chemin courant (par défaut.)cp '<src>' '<dest>'– Copie le nœud 'src' vers le chemin 'dest'cpr '<src>' '<dest>'– Copie le sous-arbre du nœud 'src' vers le chemin 'dest'mv '<src>' '<dest>'– Déplace le nœud 'src' vers le chemin 'dest'mvr '<src>' '<dest>'– Déplace le sous-arbre du nœud 'src' vers le chemin 'dest'exists '<path>' [watch_id]– Renvoie1si le nœud existe,0sinon. Définit éventuellement un watch identifié parwatch_idset '<path>' <value> [version]– Met à jour la valeur du nœud. Effectue la mise à jour uniquement si la version correspond (par défaut : -1)create '<path>' <value> [mode]– Crée un nouveau nœud avec la valeur définietouch '<path>'– Crée un nouveau nœud avec une chaîne vide comme valeur. Ne lève pas d'exception si le nœud existe déjàget '<path>' [watch_id]– Renvoie la valeur du nœud. Définit éventuellement un watch sur les données identifié parwatch_idwatch <watch_id> [timeout_seconds]– Attend l'événement de watch identifié parwatch_idet affiche le type d'événement et le chemin. Sitimeout_secondsest spécifié, renvoie une erreur après le délai indiquérm '<path>' [version]– Supprime le nœud uniquement si la version correspond (par défaut : -1)rmr '<path>' [limit]– Supprime récursivement le chemin si la taille du sous-arbre est inférieure à la limite. Confirmation requise (limite par défaut = 100)flwc <command>– Exécute une commande à quatre lettreshelp– Affiche ce messageget_direct_children_number '[path]'– Renvoie le nombre de nœuds enfants directs sous un chemin donnéget_all_children_number '[path]'– Renvoie le nombre total de nœuds enfants sous un chemin donnéget_stat '[path]'– Renvoie les statistiques du nœud (par défaut.)find_super_nodes <threshold> '[path]'– Trouve les nœuds dont le nombre d'enfants dépasse un certain seuil pour le chemin indiqué (par défaut.)delete_stale_backups– Supprime les nœuds ClickHouse utilisés pour des sauvegardes désormais inactivesfind_big_family [path] [n]– Renvoie les n premiers nœuds ayant la plus grande famille dans le sous-arbre (chemin par défaut =.et n = 10)sync '<path>'– Synchronise le nœud entre les processus et le leaderreconfig <add|remove|set> "<arg>" [version]– Reconfigure le cluster Keeper. Voir /docs/en/guides/sre/keeper/clickhouse-keeper#reconfiguration