> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> clickhouse-keeper とネイティブプロトコルでやり取りするための ClickHouse Keeper クライアントユーティリティのドキュメント

# clickhouse-keeper-client ユーティリティ

clickhouse-keeper とネイティブプロトコルでやり取りするためのクライアントアプリケーションです。

<div id="clickhouse-keeper-client">
  ## オプション
</div>

* `-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` — ヘルプメッセージを表示します。

<div id="clickhouse-keeper-client-env">
  ## 環境変数
</div>

* `CLICKHOUSE_KEEPER_PASSWORD` — コマンドラインで `--password` が指定されていない場合のデフォルトパスワードとして使用されます。
* `CLICKHOUSE_KEEPER_IDENTITY` — コマンドラインで `--identity` が指定されていない場合のデフォルトの identity として使用されます。

<div id="clickhouse-keeper-client-auth">
  ## 認証
</div>

認証が必要な Keeper サーバーに接続する場合、パスワードは次の優先順位で決定されます (最初に一致したものが使用されます) 。

1. `--password` コマンドライン引数
2. `CLICKHOUSE_KEEPER_PASSWORD` 環境変数
3. `--config-file` で指定した XML 設定ファイル内の `<zookeeper><password>`

`--identity` / `CLICKHOUSE_KEEPER_IDENTITY` / `<zookeeper><identity>` にも同じ優先順位が適用されます。

認証設定を含む XML 設定ファイルの例:

```xml theme={null}
<clickhouse>
    <zookeeper>
        <password>secret</password>
        <node index="1">
            <host>localhost</host>
            <port>9181</port>
        </node>
    </zookeeper>
</clickhouse>
```

<div id="clickhouse-keeper-client-example">
  ## 例
</div>

```bash theme={null}
./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
```

<div id="clickhouse-keeper-client-commands">
  ## コマンド
</div>

* `ls '[path]' [watch_id]` -- 指定した path のノードを一覧表示します (デフォルト: cwd) 。必要に応じて、`watch_id` で識別される children watch を設定します
* `cd '[path]'` -- 作業 path を変更します (デフォルト `.`)
* `cp '<src>' '<dest>'`  -- 'src' ノードを 'dest' path にコピーします
* `cpr '<src>' '<dest>'`  -- 'src' ノードのサブツリーを 'dest' path にコピーします
* `mv '<src>' '<dest>'`  -- 'src' ノードを 'dest' path に移動します
* `mvr '<src>' '<dest>'`  -- 'src' ノードのサブツリーを 'dest' path に移動します
* `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 イベントを待機し、イベントタイプと path を出力します。`timeout_seconds` が指定されている場合は、指定した timeout 後にエラーを返します
* `rm '<path>' [version]` -- version が一致する場合にのみノードを削除します (デフォルト: -1)
* `rmr '<path>' [limit]` -- サブツリーのサイズが limit より小さい場合、path を再帰的に削除します。確認が必要です (デフォルト limit = 100)
* `flwc <command>` -- four-letter-word コマンドを実行します
* `help` -- このメッセージを表示します
* `get_direct_children_number '[path]'` -- 特定の path 配下にある直接の子ノード数を取得します
* `get_all_children_number '[path]'` -- 特定の path 配下にあるすべての子ノード数を取得します
* `get_stat '[path]'` -- ノードの stat を返します (デフォルト `.`)
* `find_super_nodes <threshold> '[path]'` -- 指定した path について、子ノード数が threshold を超えるノードを見つけます (デフォルト `.`)
* `delete_stale_backups` -- 現在は非アクティブなバックアップに使用されている ClickHouse ノードを削除します
* `find_big_family [path] [n]` -- サブツリー内で family が最も大きい上位 n 個のノードを返します (デフォルト path = `.` and n = 10)
* `sync '<path>'` -- プロセス間および leader 間でノードを同期します
* `reconfig <add|remove|set> "<arg>" [version]` -- Keeper クラスターを再構成します。/docs/en/guides/sre/keeper/clickhouse-keeper#reconfiguration を参照してください
