Clickhouse-disks
一个为ClickHouse磁盘提供文件系统类操作的工具。它可以在交互模式和非交互模式下运行。
Program-wide options
--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-- 打印所有选项和命令及其说明
Lazy initialization
所有在配置中可用的磁盘都是延迟初始化的。这意味着只有在某个命令中使用时,才会初始化相应磁盘的对象。这是为了使工具更加健壮,避免处理在配置中描述但未被用户使用的磁盘,因其在初始化时可能会失败。然而,在clickhouse-disks启动时应有一个被初始化的磁盘。这个磁盘通过命令行的参数--disk指定(默认值为default)。
Default Disks
启动后,有两个未在配置中指定但可用于初始化的磁盘。
-
localDisk: 该磁盘旨在模仿启动clickhouse-disks工具的本地文件系统。其初始路径为启动clickhouse-disks的目录,并挂载在文件系统的根目录上。 -
defaultDisk: 该磁盘挂载到本地文件系统中,由配置中的clickhouse/path参数指定的目录(默认值为/var/lib/clickhouse)。其初始路径设置为/。
Clickhouse-disks state
对于每一个添加的磁盘,工具会存储当前目录(如同一个普通文件系统)。用户可以更改当前目录并在磁盘之间切换。
状态通过提示符"disk_name:path_name"反映。
Commands
在这份文档中,所有必需的位置参数称为<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>切换到磁盘disk上的路径path(如果未指定path,默认值为磁盘disk上的前一个路径)。write (w) [--path-from path] <path-to>. 从path(如果未提供则为stdin,输入必须以Ctrl+D结束)写入文件到path-to。