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,详细内容参见 type。--disk-- 用于mkdir, move, read, write, remove命令的磁盘。默认值为default。--query, -q-- 可以在不启动交互模式的情况下执行的单个查询。--help, -h-- 打印所有选项和命令及其描述。
Lazy initialization
在配置中可用的所有磁盘都是懒初始化的。这意味着只有在某个命令中使用对应磁盘时,才会初始化该磁盘的对应对象。这是为了增强工具的健壮性,避免对配置中描述但未被用户使用的磁盘进行操作,这些磁盘可能在初始化时会失败。然而,启动clickhouse-disks时必须有一个磁盘被初始化。该磁盘通过命令行参数--disk指定(默认值为default)。
Default Disks
启动后,有两个未在配置中指定但可供初始化的磁盘。
-
local磁盘:该磁盘旨在模拟启动clickhouse-disks实用工具的本地文件系统。其初始路径是从clickhouse-disks启动的目录,并且在文件系统的根目录下挂载。 -
default磁盘:该磁盘挂载到配置中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。