Перейти к основному содержанию
Перейти к основному содержанию

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> Перейти в каталог path на диске disk (значение по умолчанию — текущий диск). Переключения диска не происходит.
  • copy (cp) [--disk-from disk_1] [--disk-to disk_2] <path-from> <path-to>. Рекурсивно скопировать данные из path-from на диске disk_1 (значение по умолчанию — текущий диск (параметр disk в неинтерактивном режиме)) в path-to на диске disk_2 (значение по умолчанию — текущий диск (параметр disk в неинтерактивном режиме)).
  • current_disk_with_path (current, current_disk, current_path) Вывести текущее состояние в формате: Disk: "current_disk" Path: "текущий путь на текущем диске"
  • 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, если path не указан, ввод должен завершаться сочетанием Ctrl+D) в path-to.