Clickhouse-disks
ClickHouse ディスクに対して、ファイルシステムのような操作を提供するユーティリティです。インタラクティブおよび非インタラクティブの両モードで動作します。
プログラム全体のオプション
--config-file, -C-- 使用する ClickHouse の設定ファイルへのパス。既定値は/etc/clickhouse-server/config.xml。--save-logs-- 実行したコマンドの進行状況を/var/log/clickhouse-server/clickhouse-disks.logにログ出力します。--log-level-- ログ出力するイベントの種類。既定値はnone。--disk--mkdir, move, read, write, removeコマンドで使用するディスク。既定値はdefault。--query, -q-- 対話モードを起動せずに実行できる単一のクエリ。--help, -h-- すべてのオプションとコマンド、およびその説明を表示します。
遅延初期化
設定に記載されているすべてのディスクは、遅延初期化されます。つまり、あるディスクに対応するオブジェクトは、そのディスクが何らかのコマンドで実際に使用されたときにのみ初期化されます。これは、ユーティリティをより堅牢にし、設定には記述されているもののユーザーが使用しておらず、初期化時に失敗する可能性のあるディスクに触れないようにするためです。ただし、clickhouse-disks の起動時に初期化されるディスクが 1 つ存在している必要があります。このディスクは、コマンドラインからパラメータ --disk を使用して指定します(デフォルト値は default です)。
デフォルトディスク
起動後、設定には明示されていませんが、初期化に利用可能なディスクが 2 つあります。
-
localディスク: このディスクは、clickhouse-disksユーティリティが起動された元のローカルファイルシステムを模倣するように設計されています。初期パスはclickhouse-disksが開始されたディレクトリであり、ファイルシステムのルートディレクトリにマウントされます。 -
defaultディスク: このディスクは、設定内のclickhouse/pathパラメータで指定されたディレクトリ(デフォルト値は/var/lib/clickhouse)に、ローカルファイルシステム上のディレクトリとしてマウントされます。初期パスは/に設定されています。
Clickhouse-disks の状態
追加された各ディスクについて、このユーティリティは現在のディレクトリ(通常のファイルシステムと同様)を記録します。ユーザーは現在のディレクトリを変更したり、ディスク間を切り替えたりできます。
状態はプロンプト "disk_name:path_name" に反映されます。
コマンド
このドキュメントでは、必須の位置引数は <parameter>、名前付き引数は [--parameter value] の形式で表記します。すべての位置引数は、対応する名前を用いた名前付き引数として指定することもできます。
cd (change-dir, change_dir) [--disk disk] <path>ディスクdisk上のパスpathをカレントディレクトリに変更します(デフォルト値は現在のディスク)。ディスクの切り替えは行われません。copy (cp) [--disk-from disk_1] [--disk-to disk_2] <path-from> <path-to>. ディスクdisk_1上のpath-fromからデータを再帰的にコピーし(デフォルト値は現在のディスク(非対話モードではパラメータdisk))、 ディスクdisk_2上のpath-toにコピーします(デフォルト値は現在のディスク(非対話モードではパラメータdisk))。current_disk_with_path (current, current_disk, current_path)現在の状態を次の形式で出力します:Disk: "current_disk" Path: "current path on current disk"help [<command>]コマンドcommandに関するヘルプメッセージを出力します。commandが指定されていない場合は、すべてのコマンドに関する情報を出力します。move (mv) <path-from> <path-to>. 現在のディスク内で、path-fromからpath-toへファイルまたはディレクトリを移動します。remove (rm, delete) <path>. 現在のディスク上でpathを再帰的に削除します。link (ln) <path-from> <path-to>. 現在のディスク上で、path-fromからpath-toへのハードリンクを作成します。list (ls) [--recursive] <path>現在のディスク上のpathにあるファイルを一覧表示します。デフォルトでは再帰的に一覧表示しません。list-disks (list_disks, ls-disks, ls_disks). ディスク名を一覧表示します。mkdir [--recursive] <path>現在のディスク上で実行。 ディレクトリを作成します。デフォルトでは再帰的に作成しません。read (r) <path-from> [--path-to path]path-fromからファイルを読み取り、pathに出力します(指定されていない場合はstdoutに出力します)。switch-disk [--path path] <disk>パスpath上のディスクdiskに切り替えます(pathが指定されていない場合のデフォルト値は、ディスクdisk上の直前のパスです)。write (w) [--path-from path] <path-to>.pathからファイルを書き込み、path-toに出力します(pathが指定されていない場合はstdinを使用し、入力は Ctrl+D で終了する必要があります)。