Sistema de gestión de bases de datos orientado a columnas ClickHouse (tutorial de instalación)

Tabla de contenido

enlace de descarga

Instalar

Despliegue de producción

de paquetes-deb

Configurar el repositorio de Debian

Instalar el servidor y el cliente de ClickHouse

Inicie el servidor ClickHouse

Método de migración para instalar paquetes deb

Descargue manualmente la dirección del paquete de instalación

Instalar ClickHouse Keeper independiente

Habilite e inicie ClickHouse Keeper

Paquetes

Del paquete RPM

Configurar el repositorio RPM

Instalar el servidor y el cliente de ClickHouse

Inicie el servidor ClickHouse

Instalar ClickHouse Keeper independiente

Habilite e inicie ClickHouse Keeper

Descargue manualmente la dirección del paquete de instalación

Archivos Tgz

Compilación del código fuente

Instalar archivos binarios generados por CI

Solo para macOS: instalar usando Homebrew

puesta en marcha

Recomendaciones para la gestión de autoservicio de ClickHouse


enlace de descarga

https://github.com/ClickHouse/ClickHouse

Instalar

1. Si recién está comenzando y desea ver qué puede hacer ClickHouse, la forma más sencilla de descargar ClickHouse localmente es ejecutar el siguiente comando. Descarga un binario para su sistema operativo que ejecuta ClickHouse server, clickhouse-client, clickhouse-local, ClickHouse Keeper y otras herramientas:

curl https://clickhouse.com/ | sh

2. Ejecute el siguiente comando para iniciar el servidor ClickHouse:

./clickhouse server

La primera vez que ejecuta este script, se crean los archivos y carpetas necesarios en el directorio actual y se inicia el servidor.

3. Abra una nueva terminal y conéctese a su servicio usando el cliente clickhouse:

./clickhouse client

ClickHouse client version 23.2.1.1501 (official build).
Connecting to localhost:9000 as user default.
Connected to ClickHouse server version 23.2.1 revision 54461.

local-host :)

¡Puedes comenzar a enviar comandos DDL y SQL a ClickHouse!

Despliegue de producción

Para una implementación de producción de ClickHouse, elija una de las siguientes opciones de instalación.

de paquetes deb

Se recomienda utilizar debpaquetes precompilados oficiales de Debian o Ubuntu. Ejecute el siguiente comando para instalar el paquete:

Configurar el repositorio de Debian

sudo apt-get install -y apt-transport-https ca-certificates dirmngr
GNUPGHOME=$(mktemp -d)
sudo GNUPGHOME="$GNUPGHOME" gpg --no-default-keyring --keyring /usr/share/keyrings/clickhouse-keyring.gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 8919F6BD2B48D754
sudo rm -r "$GNUPGHOME"
sudo chmod +r /usr/share/keyrings/clickhouse-keyring.gpg

echo "deb [signed-by=/usr/share/keyrings/clickhouse-keyring.gpg] https://packages.clickhouse.com/deb stable main" | sudo tee \
    /etc/apt/sources.list.d/clickhouse.list
sudo apt-get update

Instalar el servidor y el cliente de ClickHouse

sudo apt-get install -y clickhouse-server clickhouse-client

Inicie el servidor ClickHouse

sudo service clickhouse-server start
clickhouse-client # or "clickhouse-client --password" if you've set up a password.

Método de migración para instalar paquetes deb

sudo apt-key del E0C56BD4
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 8919F6BD2B48D754
echo "deb https://packages.clickhouse.com/deb stable main" | sudo tee \
    /etc/apt/sources.list.d/clickhouse.list
sudo apt-get update

sudo apt-get install -y clickhouse-server clickhouse-client

sudo service clickhouse-server start
clickhouse-client # or "clickhouse-client --password" if you set up a password.
Descargue manualmente la dirección del paquete de instalación

https://packages.clickhouse.com/deb/pool/main/c/

Instalar ClickHouse Keeper independiente

En un entorno de producción, se recomienda ejecutar ClickHouse Keeper en nodos dedicados. En un entorno de prueba, si decide ejecutar ClickHouse Server y ClickHouse Keeper en el mismo servidor, no necesita instalar ClickHouse Keeper ya que está incluido con ClickHouse Server. Este comando solo es necesario en servidores ClickHouse Keeper independientes.
sudo apt-get install -y clickhouse-keeper
Habilite e inicie ClickHouse Keeper
sudo systemctl enable clickhouse-keeper
sudo systemctl start clickhouse-keeper
sudo systemctl status clickhouse-keeper
Paquetes
  • clickhouse-common-static -Instalar binarios compilados de ClickHouse.
  • clickhouse-serverclickhouse-server-Crear enlaces simbólicos  e instalar la configuración predeterminada del servidor.
  • clickhouse-client - clickhouse-clientCrear enlaces simbólicos a otras herramientas relacionadas con el cliente. e instale el archivo de configuración del cliente.
  • clickhouse-common-static-dbg -Instalar binarios compilados de ClickHouse e información de depuración.
  • clickhouse-keeper - Se utiliza para instalar ClickHouse Keeper en un nodo dedicado de ClickHouse Keeper. Si está ejecutando ClickHouse Keeper en el mismo servidor que su servidor ClickHouse, no necesita instalar este paquete. Instale ClickHouse Keeper y los archivos de configuración predeterminados de ClickHouse Keeper.

Si necesita instalar una versión específica de ClickHouse, debe instalar todos los paquetes de la misma versión: 

sudo apt-get install clickhouse-server=21.8.5.7 clickhouse-client=21.8.5.7 clickhouse-common-static=21.8.5.7

Del paquete RPM

Se recomienda utilizar los rpmpaquetes oficiales precompilados para CentOS, RedHat y todas las demás distribuciones de Linux basadas en rpm.

Configurar el repositorio RPM

Primero, necesitas agregar el repositorio oficial:

sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://packages.clickhouse.com/rpm/clickhouse.repo

Para zyppersistemas con administradores de paquetes (openSUSE, SLES):

sudo zypper addrepo -r https://packages.clickhouse.com/rpm/clickhouse.repo -g
sudo zypper --gpg-auto-import-keys refresh clickhouse-stable

Posteriormente, cualquiera yum installpuede ser zypper installreemplazado. Para especificar una versión específica, agregue al final del nombre del paquete -$VERSION, por ejemplo: clickhouse-client-22.2.2.22.

Instalar el servidor y el cliente de ClickHouse

sudo yum install -y clickhouse-server clickhouse-client

Inicie el servidor ClickHouse

sudo systemctl enable clickhouse-server
sudo systemctl start clickhouse-server
sudo systemctl status clickhouse-server
clickhouse-client # or "clickhouse-client --password" if you set up a password.

Instalar ClickHouse Keeper independiente

En un entorno de producción, se recomienda ejecutar ClickHouse Keeper en nodos dedicados. En un entorno de prueba, si decide ejecutar ClickHouse Server y ClickHouse Keeper en el mismo servidor, no necesita instalar ClickHouse Keeper ya que está incluido con ClickHouse Server. Este comando solo es necesario en servidores independientes de ClickHouse Keeper

sudo yum install -y clickhouse-keeper

Habilite e inicie ClickHouse Keeper

sudo systemctl enable clickhouse-keeper
sudo systemctl start clickhouse-keeper
sudo systemctl status clickhouse-keeper
Descargue manualmente la dirección del paquete de instalación

https://packages.clickhouse.com/rpm/stable/

Archivos Tgz

Se recomienda utilizar tgzarchivos precompilados oficiales para todas las distribuciones de Linux, en las que la instalación debo rpmlos paquetes no son posibles.

La versión requerida se puede descargar desde el almacén https://packages.clickhouse.com/tgz/curl o wget. Luego, se debe descomprimir el archivo descargado e instalar el script. Ejemplo de la última versión estable:

LATEST_VERSION=$(curl -s https://packages.clickhouse.com/tgz/stable/ | \
    grep -Eo '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+' | sort -V -r | head -n 1)
export LATEST_VERSION

case $(uname -m) in
  x86_64) ARCH=amd64 ;;
  aarch64) ARCH=arm64 ;;
  *) echo "Unknown architecture $(uname -m)"; exit 1 ;;
esac

for PKG in clickhouse-common-static clickhouse-common-static-dbg clickhouse-server clickhouse-client clickhouse-keeper
do
  curl -fO "https://packages.clickhouse.com/tgz/stable/$PKG-$LATEST_VERSION-${ARCH}.tgz" \
    || curl -fO "https://packages.clickhouse.com/tgz/stable/$PKG-$LATEST_VERSION.tgz"
done

tar -xzvf "clickhouse-common-static-$LATEST_VERSION-${ARCH}.tgz" \
  || tar -xzvf "clickhouse-common-static-$LATEST_VERSION.tgz"
sudo "clickhouse-common-static-$LATEST_VERSION/install/doinst.sh"

tar -xzvf "clickhouse-common-static-dbg-$LATEST_VERSION-${ARCH}.tgz" \
  || tar -xzvf "clickhouse-common-static-dbg-$LATEST_VERSION.tgz"
sudo "clickhouse-common-static-dbg-$LATEST_VERSION/install/doinst.sh"

tar -xzvf "clickhouse-server-$LATEST_VERSION-${ARCH}.tgz" \
  || tar -xzvf "clickhouse-server-$LATEST_VERSION.tgz"
sudo "clickhouse-server-$LATEST_VERSION/install/doinst.sh" configure
sudo /etc/init.d/clickhouse-server start

tar -xzvf "clickhouse-client-$LATEST_VERSION-${ARCH}.tgz" \
  || tar -xzvf "clickhouse-client-$LATEST_VERSION.tgz"
sudo "clickhouse-client-$LATEST_VERSION/install/doinst.sh"

Compilación del código fuente

Para compilar ClickHouse manualmente, siga las instrucciones para Linux o macOS .

Puede compilar paquetes e instalarlos, o utilizar el programa sin instalar los paquetes.

  Client: <build_directory>/programs/clickhouse-client
  Server: <build_directory>/programs/clickhouse-server

Debe crear manualmente las carpetas de datos y metadatos y crearlas para los usuarios necesarios. Sus rutas se pueden cambiar en la configuración del servidor (src/programs/server/config.xml), por defecto son:

  /var/lib/clickhouse/data/default/
  /var/lib/clickhouse/metadata/default/

 En Gentoo, puede emerge clickhouseinstalar ClickHouse desde el código fuente usando .

Instalar archivos binarios generados por CI

La infraestructura de integración continua (CI) de ClickHouse genera  repositorios de compilación dedicados para cada confirmación en ClickHouse, por ejemplo, compilaciones limpias , compilaciones no optimizadas (de depuración), compilaciones cruzadas, etc. Si bien estas compilaciones generalmente solo son útiles durante el desarrollo, en algunos casos también pueden resultar interesantes para los usuarios.

Debido a que el CI de ClickHouse continúa evolucionando con el tiempo, los pasos exactos para descargar la versión generada por el CI pueden variar. Además, CI puede eliminar artefactos de compilación que sean demasiado antiguos, lo que hará que no estén disponibles para su descarga.

Por ejemplo, para descargar los archivos binarios de aarch64 para ClickHouse v23.4, siga estos pasos:

  • Encuentre la solicitud de extracción de GitHub para la versión v23.4: Solicitud de extracción de versión para la rama 23.4
  • Haga clic en "Confirmar" y luego haga clic en algo como "Actualizar versiones generadas automáticamente a 23.4.2.1 y contribuyentes" para la versión específica que desea instalar.
  • Haga clic en la casilla de verificación verde/punto amarillo/cruz roja para abrir la lista de casillas de verificación de CI.
  • Al hacer clic en "Detalles" junto a "ClickHouse Build Check" en la lista se abrirá una página similar a esta.
  • Busque la línea con compilador="clang-*-aarch 64"; hay varias líneas.
  • Descargue estos artefactos construidos.

Descargue los archivos binarios para sistemas x86-64 muy antiguos que no admiten SSE 3 o para sistemas ARM antiguos que no admiten  ARMv8.1 -A , abra una solicitud de extracción y busque la verificación de CI "BuilderBinAmd 64 Compat" " BuilderBinAarch64V80Compat". Luego haga clic en "Detalles", abra la carpeta "Compilaciones", desplácese hasta el final y busque el mensaje "Nota: URL de compilación  https://s3.amazonaws.com/clickhouse/builds/PRs/.../. ../binary_aarch64_v80compat/clickhouse” . Luego puede hacer clic en el enlace para descargar la compilación.

Solo para macOS: instalar usando Homebrew

brewPara instalar ClickHouse usando un administrador de paquetes popular , siga las instrucciones que aparecen en el grifo ClickHouse Homebrew .

puesta en marcha

Para iniciar el servidor como demonio, ejecute:

$ sudo clickhouse start

Hay otras formas de ejecutar ClickHouse:

$ sudo service clickhouse-server start

Si no tienes serviceel comando, usa

$ sudo /etc/init.d/clickhouse-server start

Si tienes systemctlel comando, ejecuta como

$ sudo systemctl start clickhouse-server.service

Ver /var/log/clickhouse-server/los registros en el directorio.

Si el servidor no se inicia, verifique /etc/clickhouse-server/config.xmlla configuración en el archivo.

También puedes iniciar el servidor manualmente desde la consola:

$ clickhouse-server --config-file=/etc/clickhouse-server/config.xml

En este caso, el registro se imprimirá en la consola, lo cual resulta muy conveniente durante el desarrollo. Si el archivo de configuración está en el directorio actual, no es --config-filenecesario especificar ningún parámetro. Por defecto se utiliza ./config.xml.

ClickHouse admite configuraciones de restricción de acceso. Están ubicados users.xmlen el archivo (uno al lado del otro config.xml). De forma predeterminada, defaultlos usuarios pueden acceder desde cualquier lugar sin contraseña. Ver user/default/networks. Para obtener más información, consulte la sección "Archivos de configuración".

Después de iniciar el servidor, puede conectarse a él mediante un cliente de línea de comando:

$ clickhouse-client

De forma predeterminada, se localhost:9000conecta en nombre del usuario defaultsin contraseña. También se puede utilizar --hostpara conectarse a servidores remotos mediante parámetros.

El terminal debe utilizar codificación UTF-8. Para obtener más información, consulte la sección "Cliente de línea de comandos".

ejemplo:

$ ./clickhouse-client
ClickHouse client version 0.0.18749.
Connecting to localhost:9000.
Connected to ClickHouse server version 0.0.18749.

:) SELECT 1

SELECT 1

┌─1─┐
│ 1 │
└───┘

1 rows in set. Elapsed: 0.003 sec.

:)

¡Felicitaciones, el sistema funciona!

Para continuar con el experimento, puede descargar uno de los conjuntos de datos de prueba o seguir el tutorial .

https://clickhouse.com/docs/en/tutorial

Recomendaciones para la gestión de autoservicio de ClickHouse

ClickHouse se ejecuta en cualquier Linux, FreeBSD o macOS y utiliza arquitectura de CPU x86-64, ARM o PowerPC 64 LE.

ClickHouse utiliza todos los recursos de hardware disponibles para procesar datos.

ClickHouse tiende a funcionar de manera más eficiente utilizando una gran cantidad de núcleos a una velocidad de reloj más baja que usando menos núcleos a una velocidad de reloj más alta.

Recomendamos utilizar al menos 4 GB de RAM para realizar consultas no triviales. El servidor ClickHouse puede ejecutarse con menos RAM, pero las consultas se cancelarán con frecuencia.

La cantidad de RAM necesaria suele depender de:

  • Complejidad de la consulta.
  • La cantidad de datos procesados ​​en la consulta.

Para calcular la cantidad de RAM requerida, puede estimar el tamaño de los datos temporales para GROUP BY , DISTINCT , JOIN y otras operaciones que utilice.

Para reducir el consumo de memoria, ClickHouse puede intercambiar datos temporales al almacenamiento externo. Consulte GRUPO POR en Almacenamiento externo para obtener más detalles .

Recomendamos deshabilitar el archivo de intercambio del sistema operativo en entornos de producción.

Los binarios de ClickHouse requieren al menos 2,5 GB de espacio en disco para instalarse.

La capacidad de almacenamiento necesaria para sus datos se puede calcular individualmente en función de

  • Estimación del volumen de datos.

    Puede muestrear los datos y obtener el tamaño promedio de una fila a partir de ellos. Luego, este valor se multiplica por el número de filas que se planea almacenar.

  • Factor de compresión de datos.

    Para estimar el factor de compresión de datos, cargue una muestra de los datos en ClickHouse y compare el tamaño real de los datos con el tamaño de la tabla almacenada. Por ejemplo, los datos del flujo de clics normalmente se comprimen entre 6 y 10 veces.

Para calcular la cantidad final de datos a almacenar, aplique el factor de compresión a la cantidad estimada de datos. Si planea almacenar datos en varias réplicas, multiplique el volumen estimado por la cantidad de réplicas.

Para implementaciones distribuidas de ClickHouse (clústeres), recomendamos al menos una conexión de red de nivel 10G.

El ancho de banda de la red es fundamental para procesar consultas distribuidas con grandes cantidades de datos intermedios. Además, la velocidad de la red puede afectar el proceso de copia.

Supongo que te gusta

Origin blog.csdn.net/u012206617/article/details/133034245
Recomendado
Clasificación