A client application to interact with clickhouse-keeper by its native protocol.
Keys
-q QUERY,--query=QUERY— Query to execute. If this parameter is not passed,clickhouse-keeper-clientwill start in interactive mode.-h HOST,--host=HOST— Server host. Default value:localhost.-p N,--port=N— Server port. Default value: 9181-c FILE_PATH,--config-file=FILE_PATH— Set path of config file to get the connection string. Default value:config.xml.--password=PASSWORD— Password for authentication. Can also be set via theCLICKHOUSE_KEEPER_PASSWORDenvironment variable or in the XML config file under<zookeeper><password>.--identity=IDENTITY— Identity fordigestauthentication scheme. Can also be set via theCLICKHOUSE_KEEPER_IDENTITYenvironment variable or in the XML config file under<zookeeper><identity>.--connection-timeout=TIMEOUT— Set connection timeout in seconds. Default value: 10s.--session-timeout=TIMEOUT— Set session timeout in seconds. Default value: 10s.--operation-timeout=TIMEOUT— Set operation timeout in seconds. Default value: 10s.--history-file=FILE_PATH— Set path of history file. Default value:~/.keeper-client-history.--log-level=LEVEL— Set log level. Default value:information.--no-confirmation— If set, will not require a confirmation on several commands. Default valuefalsefor interactive andtruefor query--help— Shows the help message.
Environment Variables
CLICKHOUSE_KEEPER_PASSWORD— Used as the default password if--passwordis not provided on the command line.CLICKHOUSE_KEEPER_IDENTITY— Used as the default identity if--identityis not provided on the command line.
Authentication
When connecting to a Keeper server that requires authentication, the password is resolved in the following priority order (first match wins):
--passwordcommand-line argumentCLICKHOUSE_KEEPER_PASSWORDenvironment variable<zookeeper><password>in the XML config file specified by--config-file
The same priority applies to --identity / CLICKHOUSE_KEEPER_IDENTITY / <zookeeper><identity>.
Example XML config file with authentication settings:
<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'
2Commands
ls '[path]' [watch_id]– Lists the nodes for the given path (default: cwd). Optionally sets a children watch identified bywatch_idcd '[path]'– Changes the working path (default.)cp '<src>' '<dest>'– Copies ‘src’ node to ‘dest’ pathcpr '<src>' '<dest>'– Copies ‘src’ node subtree to ‘dest’ pathmv '<src>' '<dest>'– Moves ‘src’ node to the ‘dest’ pathmvr '<src>' '<dest>'– Moves ‘src’ node subtree to ‘dest’ pathexists '<path>' [watch_id]– Returns1if node exists,0otherwise. Optionally sets a watch identified bywatch_idset '<path>' <value> [version]– Updates the node’s value. Only updates if version matches (default: -1)create '<path>' <value> [mode]– Creates new node with the set valuetouch '<path>'– Creates new node with an empty string as value. Doesn’t throw an exception if the node already existsget '<path>' [watch_id]– Returns the node’s value. Optionally sets a data watch identified bywatch_idwatch <watch_id> [timeout_seconds]– Waits for the watch event identified bywatch_idand prints the event type and path. Iftimeout_secondsis specified, returns an error after the given timeoutrm '<path>' [version]– Removes the node only if version matches (default: -1)rmr '<path>' [limit]– Recursively deletes path if the subtree size is smaller than the limit. Confirmation required (default limit = 100)flwc <command>– Executes four-letter-word commandhelp– Prints this messageget_direct_children_number '[path]'– Get numbers of direct children nodes under a specific pathget_all_children_number '[path]'– Get all numbers of children nodes under a specific pathget_stat '[path]'– Returns the node’s stat (default.)find_super_nodes <threshold> '[path]'– Finds nodes with number of children larger than some threshold for the given path (default.)delete_stale_backups– Deletes ClickHouse nodes used for backups that are now inactivefind_big_family [path] [n]– Returns the top n nodes with the biggest family in the subtree (default path =.and n = 10)sync '<path>'– Synchronizes node between processes and leaderreconfig <add|remove|set> "<arg>" [version]– Reconfigure Keeper cluster. See /docs/en/guides/sre/keeper/clickhouse-keeper#reconfiguration