Tabla de contenido
Configurar el repositorio de Debian
Instalar el servidor y el cliente de 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
Instalar el servidor y el cliente de ClickHouse
Instalar ClickHouse Keeper independiente
Habilite e inicie ClickHouse Keeper
Descargue manualmente la dirección del paquete de instalación
Instalar archivos binarios generados por CI
Solo para macOS: instalar usando Homebrew
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 deb
paquetes 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-server
clickhouse-server
-Crear enlaces simbólicos e instalar la configuración predeterminada del servidor.clickhouse-client
-clickhouse-client
Crear 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 rpm
paquetes 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 zypper
sistemas 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 install
puede ser zypper install
reemplazado. 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 tgz
archivos precompilados oficiales para todas las distribuciones de Linux, en las que la instalación deb
o rpm
los 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 clickhouse
instalar 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
brew
Para 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 service
el comando, usa
$ sudo /etc/init.d/clickhouse-server start
Si tienes systemctl
el 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.xml
la 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-file
necesario especificar ningún parámetro. Por defecto se utiliza ./config.xml
.
ClickHouse admite configuraciones de restricción de acceso. Están ubicados users.xml
en el archivo (uno al lado del otro config.xml
). De forma predeterminada, default
los 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:9000
conecta en nombre del usuario default
sin contraseña. También se puede utilizar --host
para 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.