Una utilidad que ofrece operaciones similares a las de un sistema de archivos para los discos de ClickHouse. Puede funcionar tanto en modo interactivo como en modo no interactivo.
Opciones globales del programa
--config-file, -C– ruta del archivo de configuración de ClickHouse; el valor predeterminado es/etc/clickhouse-server/config.xml.--save-logs– registra el progreso de los comandos invocados en/var/log/clickhouse-server/clickhouse-disks.log.--log-level– qué tipo de eventos se registra; el valor predeterminado esnone.--disk– qué disco usar para los comandosmkdir, move, read, write, remove. El valor predeterminado esdefault.--query, -q– consulta única que puede ejecutarse sin iniciar el modo interactivo--help, -h– imprime todas las opciones y comandos con su descripción
Inicialización diferida
Todos los discos disponibles en la configuración se inicializan de forma diferida. Esto significa que el objeto correspondiente a un disco se inicializa solo cuando dicho disco se utiliza en algún comando. Esto se hace para que la utilidad sea más robusta y para evitar acceder a discos descritos en la configuración pero que el usuario no utiliza y que podrían fallar durante la inicialización. Sin embargo, debe haber un disco que se inicialice al arrancar clickhouse-disks. Este disco se especifica con el parámetro --disk en la línea de comandos (el valor predeterminado es default).
Discos predeterminados
Tras iniciarse, hay dos discos que no están especificados en la configuración, pero que están disponibles para su inicialización.
-
Disco
local: Este disco está diseñado para imitar el sistema de archivos local desde el que se inició la utilidadclickhouse-disks. Su ruta inicial es el directorio desde el que se inicióclickhouse-disks, y está montado en el directorio raíz del sistema de archivos. -
Disco
default: Este disco está montado en el sistema de archivos local en el directorio especificado por el parámetroclickhouse/pathen la configuración (el valor predeterminado es/var/lib/clickhouse). Su ruta inicial está establecida en/.
Estado de clickhouse-disks
Para cada disco que se añade, la utilidad guarda el directorio actual (como en un sistema de archivos habitual). El usuario puede cambiar el directorio actual y pasar de un disco a otro.
El estado se refleja en el indicador "disk_name:path_name"
Comandos
En este archivo de documentación, todos los argumentos posicionales obligatorios se representan como <parameter>, y los argumentos con nombre, como [--parameter value]. Todos los parámetros posicionales también pueden indicarse como parámetros con nombre con el nombre correspondiente.
cd (change-dir, change_dir) [--disk disk] <path>Cambia el directorio a la rutapathdel discodisk(el valor predeterminado es el disco actual). No se cambia de disco.copy (cp) [--disk-from disk_1] [--disk-to disk_2] <path-from> <path-to>. Copia recursivamente los datos desdepath-fromen el discodisk_1(el valor predeterminado es el disco actual (parámetrodisken modo no interactivo)) apath-toen el discodisk_2(el valor predeterminado es el disco actual (parámetrodisken modo no interactivo)).current_disk_with_path (current, current_disk, current_path)Imprime el estado actual con el formato:Disk: "current_disk" Path: "current path on current disk"du [--human-readable] [<path>]Imprime el tamaño total en bytes del archivo o directorio enpathen el disco actual. En el caso de un directorio, el tamaño de todos los archivos que contiene se suma de forma recursiva. Si no se especificapath, se usa el directorio actual. Con--human-readable(-h), el tamaño se imprime en un formato legible para humanos (por ejemplo,1.23 GiB).help [<command>]Imprime un mensaje de ayuda sobre el comandocommand. Si no se especificacommand, imprime información sobre todos los comandos.move (mv) <path-from> <path-to>. Mueve un archivo o directorio depath-fromapath-todentro del disco actual.remove (rm, delete) <path>. Eliminapathde forma recursiva en el disco actual.link (ln) <path-from> <path-to>. Crea un enlace físico depath-fromapath-toen el disco actual.list (ls) [--recursive] <path>Muestra los archivos enpathdel disco actual. De forma predeterminada, no es recursivo.list-disks (list_disks, ls-disks, ls_disks). Muestra los nombres de los discos.mkdir [--recursive] <path>en el disco actual. Crea un directorio. De forma predeterminada, no es recursivo.read (r) <path-from> [--path-to path]Lee un archivo desdepath-fromhaciapath(stdoutsi no se proporciona).read-bitmap <path-from> [--values]Inspecciona un archivo sidecar de bitmap de eliminación (.rbm) enpath-from. Imprime el valor mágico y la versión, la validez del CRC, la cardinalidad (número de filas eliminadas) y el rango de filas. Con--values, también vuelca todos los bits activados (los desplazamientos de las filas eliminadas) en orden ascendente.switch-disk [--path path] <disk>Cambia al discodisken la rutapath(si no se especificapath, el valor predeterminado es la ruta anterior en el discodisk).write (w) [--path-from path] <path-to>. Escribe un archivo desdepath(stdinsi no se proporcionapath; la entrada debe finalizar con Ctrl+D) enpath-to.wc <path> [--bytes] [--lines] [--words]Cuenta bytes, líneas y palabras en el archivo enpathdel disco actual (como Unixwc). Si no se indica ningún indicador, se imprimen los tres recuentos en este orden: líneas, palabras y bytes. Usa--bytes(-c),--lines(-l) y--words(-w) para seleccionar recuentos específicos.sed <expression> <path>Aplica laexpressiondesedal archivo enpathdel disco actual, modificándolo en el propio archivo. Requiere quesedesté instalado en el host. Solo se admite una única expresión desedsin opciones (por ejemplo,'s/foo/bar/g','/foo/d'), no varias expresiones (-e ... -e ...) ni opciones combinadas con una dirección (por ejemplo,-ncon4,10p).read-checksums <path>Lee un archivochecksums.txtde una parte de datos deMergeTreeen el disco actual y lo imprime enstdoutcomo una tabla legible para humanos, separada por tabulaciones, con las columnasname,file_size,file_hash,uncompressed_sizeyuncompressed_hash. Las dos últimas columnas solo están presentes para archivos comprimidos.