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-- 모든 옵션과 명령 및 해당 설명을 출력합니다.
지연 초기화
설정(config)에 정의된 모든 디스크는 지연 초기화됩니다. 이는 특정 디스크에 대한 객체가 해당 디스크가 어떤 명령에서 실제로 사용될 때에만 초기화된다는 의미입니다. 이러한 방식은 유틸리티의 안정성을 높이고, 설정에는 정의되어 있지만 사용자가 사용하지 않는 디스크를 건드리지 않도록 하여 초기화 과정에서 발생할 수 있는 장애를 방지하기 위한 것입니다. 그러나 clickhouse-disks를 시작할 때는 반드시 하나의 디스크가 초기화되어 있어야 합니다. 이 디스크는 명령줄(command line)의 --disk 매개변수로 지정되며, 기본값은 default입니다.
기본 디스크
실행되면, 설정에는 명시되어 있지 않지만 초기화에 사용할 수 있는 디스크가 두 개 있습니다.
-
local디스크: 이 디스크는clickhouse-disks유틸리티가 실행된 로컬 파일 시스템을 모방하도록 설계되었습니다. 초기 경로는clickhouse-disks가 시작된 디렉터리이고, 파일 시스템의 루트 디렉터리(/)에 마운트됩니다. -
default디스크: 이 디스크는 설정의clickhouse/path매개변수로 지정된 디렉터리(기본값은/var/lib/clickhouse)에 로컬 파일 시스템 상에서 마운트됩니다. 초기 경로는/로 설정됩니다.
Clickhouse-disks 상태
추가된 각 디스크에 대해 유틸리티는 현재 디렉터리(일반 파일 시스템의 현재 디렉터리와 동일한 개념)를 저장합니다. 현재 디렉터리를 변경하거나 디스크를 전환할 수 있습니다.
상태는 프롬프트 "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_2의path-to로 데이터를 재귀적으로 복사합니다(각 디스크 인자의 기본값은 현재 디스크이며,non-interactive모드에서는 매개변수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>on a current disk. 현재 디스크에 디렉터리를 생성합니다. 기본값은 비재귀적입니다.read (r) <path-from> [--path-to path]path-from에서 파일을 읽어path로 출력합니다(지정하지 않으면stdout으로 출력합니다).switch-disk [--path path] <disk>경로path를 사용하여 디스크disk로 전환합니다(path가 지정되지 않으면 기본값은 디스크disk에서 사용하던 이전 경로입니다).write (w) [--path-from path] <path-to>.path에서 파일을path-to로 기록합니다(path가 지정되지 않으면stdin에서 읽으며, 입력은 Ctrl+D로 종료해야 합니다).