跳到主要内容
跳到主要内容

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

启动后,有两个未在配置中指定但可供初始化的磁盘。

  1. local 磁盘:该磁盘旨在模拟启动clickhouse-disks实用工具的本地文件系统。其初始路径是从clickhouse-disks启动的目录,并且在文件系统的根目录下挂载。

  2. 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