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

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 启动时初始化的磁盘。此磁盘通过命令行使用参数 --disk 指定(默认值为 default)。

默认磁盘

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

  1. local 磁盘:此磁盘旨在模拟启动 clickhouse-disks 实用程序的本地文件系统。它的初始路径是 clickhouse-disks 启动的目录,并且它被挂载在文件系统的根目录下。

  2. 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(默认值为当前磁盘(非交互模式下的参数 disk))上的 path-from 递归复制到磁盘 disk_2(默认值为当前磁盘(非交互模式下的参数 disk))上的 path-to
  • 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-frompath-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(如果未提供 path,则为 stdin,输入必须以 Ctrl+D 结束)写入到 path-to