Base analytique en colonnes pour les traces, les événements d'audit et les métriques d'usage. Serveur unique ou cluster partitionné et répliqué avec ClickHouse Keeper.
Généré depuis catalog/services/clickhouse.yaml : ne pas modifier à la main.
Résumé
| |
|---|
| Version | 25.3.3.42 |
| Usage | installer et configurer |
| Couche | infrastructure (présentée à part) |
| Catégorie | Plateformes de données |
| Méthodes d'installation | podman, package |
| Connexion externe | clickhouse |
| Réservé au bac à sable | non |
Licence
| |
|---|
| Identifiant SPDX | Apache-2.0 |
| Politique de licence | licence socle (MIT ou Apache-2.0) |
| Exception de licence | - |
| Composant de la plateforme | clickhouse |
Paquets et artefacts
Un paquet que publie le projet du service (son image, son archive binaire, son paquet Python ou système) porte la licence du service ; un paquet tiers porte la licence écrite sur sa ligne, lue dans les métadonnées officielles du projet amont.
| Type | Paquet | Version | Licence | Détails |
|---|
| image de conteneur | docker.io/clickhouse/clickhouse-server | 25.3.3.42 | Apache-2.0 | clé d'image server, utilisée par keeper, server, condensé sha256:cc6b7488017512db99bff97c493030152bb786249afdfec8b6714eaf16a6f4ae |
| paquet système | clickhouse-server | version du dépôt configuré | Apache-2.0 | famille RHEL (dnf) |
| paquet système | clickhouse-client | version du dépôt configuré | Apache-2.0 | famille RHEL (dnf) |
| paquet système | clickhouse-common-static | version du dépôt configuré | Apache-2.0 | famille RHEL (dnf) |
| paquet système | clickhouse-server | version du dépôt configuré | Apache-2.0 | famille Debian (apt) |
| paquet système | clickhouse-client | version du dépôt configuré | Apache-2.0 | famille Debian (apt) |
| paquet système | clickhouse-common-static | version du dépôt configuré | Apache-2.0 | famille Debian (apt) |
Les images sont épinglées par étiquette dans le descripteur, et par condensé (digest) quand le descripteur en déclare un (le bundle hors ligne refuse alors une image téléchargée qui ne le porte pas) ; le condensé est enregistré dans le miroir du Manager à l'import du bundle hors ligne, et chaque téléchargement ou chargement est vérifié par rapport à lui.
Systèmes et architectures pris en charge
| Méthode | Systèmes d'exploitation | Architectures |
|---|
podman | famille RHEL (dnf), famille Debian (apt), Arch Linux (pacman) | x86_64, aarch64 (non restreintes par le descripteur) |
package | famille RHEL (dnf), famille Debian (apt) | x86_64, aarch64 (non restreintes par le descripteur) |
Systèmes hôtes certifiés : RHEL 8/9/10, Rocky Linux 8/9/10, AlmaLinux 8/9/10, Oracle Linux 8/9, CentOS Stream 9/10, Ubuntu 22.04/24.04, Debian 12, Arch Linux (rolling). Le contrôle préalable des hôtes accepte ces systèmes (une autre version d'une famille connue donne un avertissement, une version en fin de vie est refusée) et les architectures x86_64 et aarch64.
Prérequis
Hôte
- au moins 4096 Mo de mémoire (bloquant,
memory).
- au moins 2 CPU (avertissement,
cpu).
Réseau et ports
| Composant | Nom du port | Port | Ouvert dans le pare-feu de l'hôte |
|---|
keeper | keeper | 9181/tcp | oui |
keeper | raft | 9234/tcp | oui |
server | http | 8123/tcp | oui |
server | native | 9000/tcp | oui |
server | interserver | 9009/tcp | oui |
server | metrics | 9363/tcp | oui |
Services et connexions nécessaires
Ce service n'a aucune dépendance.
Méthodes et modes d'installation
| Méthode | Défaut | Ce que la méthode utilise |
|---|
podman | oui | les images de conteneur du descripteur, exécutées par Podman sous systemd |
package | - | les paquets système du descripteur, installés par le gestionnaire de paquets de l'hôte |
Composants
| Composant | Type | Méthodes d'installation | Ports |
|---|
ClickHouse Keeper (keeper) | maître | podman, package | 9181/tcp, 9234/tcp |
Serveur ClickHouse (server) | maître | podman, package | 8123/tcp, 9000/tcp, 9009/tcp, 9363/tcp |
Serveur unique (standalone) (par défaut)
Un seul serveur ClickHouse sans Keeper.
Ce que le mode déploie :
| Composant | Placement |
|---|
keeper | non utilisé |
server | min 1, max 1 |
Partitionné et répliqué (cluster)
Partitions de réplicas (nombre de serveurs multiple des réplicas) coordonnées par 3 ou 5 nœuds Keeper.
Ce que le mode déploie :
| Composant | Placement |
|---|
keeper | min 3, max 5, nombre impair, recommandé 3 |
server | min 2, recommandé 4 |
Installer ce service
L'assistant d'installation du Navin Manager planifie, valide et exécute l'installation ; il faut la permission services:install sur le cluster.
-
Ouvrez l'assistant. Dans Clusters, choisissez l'action de ligne Installer des services du cluster cible. L'assistant s'ouvre sur sa première étape, Service.
-
Choisissez le service. À l'étape Service, sélectionnez ClickHouse. La carte affiche la licence Apache-2.0. Choisissez la Méthode parmi podman, package (par défaut podman). Pour enregistrer à la place un service clickhouse existant de votre organisation, activez Utiliser un service externe existant.
-
Choisissez les hôtes et le mode. À l'étape Hôtes, cochez les hôtes, puis choisissez le Mode : standalone (par défaut), cluster. Chaque mode déploie les composants listés dans Méthodes et modes d'installation. Avec plusieurs composants, placez chacun sur ses hôtes dans Répartition des composants (Proposer un placement propose un placement qui respecte les cardinalités).
-
Liaisons. Ce service n'a aucune dépendance : l'étape Liaisons n'a rien à lier.
-
Configurez. À l'étape Configuration, relisez les paramètres (voir Paramètres de configuration). Les mots de passe laissés vides avec une valeur générée par défaut sont générés et scellés par le Manager.
-
Relisez et installez. À l'étape Installation, le Manager valide le plan et affiche l'ordre d'installation ; quand il indique « Le plan est valide. Prêt pour l'installation. », choisissez Installer. Un mode hautement disponible n'est installé que si ses contrôles HA réussissent.
-
Vérifiez. L'opération se termine quand les contrôles de santé de chaque instance réussissent (voir Contrôles de santé) ; le service apparaît alors en marche dans Services.
Haute disponibilité
| |
|---|
| Cluster | natif (native) |
| Haute disponibilité | natif (native) |
| Bascule | côté client (client) |
| Réplication | natif (native) |
| Quorum | ClickHouse Keeper (keeper) |
| Découverte | statique (static) |
| Point d'entrée | n'importe quel nœud (any-node) |
| Documentation officielle | https://clickhouse.com/docs/guides/oss/deployment-and-scaling/keeper |
| Paramètre TLS entre pairs | tls_enabled |
| Commande d'état du cluster | system_clusters |
Topologie par mode
| Modes | Niveau le plus haut du catalogue | Répartition | Composant du quorum | Domaines de panne | Description |
|---|
standalone | autonome (standalone) | unique (single) | - | 1 | Un serveur sans Keeper, sans réplication. |
cluster | cluster (cluster) | actif-actif (active-active) | keeper | 3 | Shards de 2 réplicas ou plus coordonnés par 3 ou 5 nœuds ClickHouse Keeper. |
Remarques
- Seules les tables Replicated*MergeTree sont copiées entre réplicas ; une table MergeTree simple vit sur un seul serveur.
- Placer les nœuds Keeper dans des domaines de panne distincts : la perte de la majorité Keeper passe les tables répliquées en lecture seule.
Paramètres de configuration
Réseau
| Paramètre | Type | Défaut | Valeurs permises | Obligatoire | Secret | Redémarrage | Description |
|---|
Port HTTP (http_port) | port | 8123 | - | non | non | non | Port de l'interface HTTP (HTTPS uniquement quand TLS est activé). |
Port natif (native_port) | port | 9000 | - | non | non | non | Port du protocole TCP natif (protocole natif en TLS uniquement quand TLS est activé). |
Port interserveur (interserver_port) | port | 9009 | - | non | non | non | Port utilisé par les réplicas pour récupérer les parts (HTTPS uniquement quand TLS est activé). |
Port des métriques (metrics_port) | port | 9363 | - | non | non | non | Port du point de terminaison Prometheus. Inutilisé quand TLS est activé : /metrics est alors servi en HTTPS sur le port HTTP. |
Cluster
| Paramètre | Type | Défaut | Valeurs permises | Obligatoire | Secret | Redémarrage | Description |
|---|
Port client de Keeper (keeper_port) | port | 9181 | - | non | non | non | Port de ClickHouse Keeper pour les serveurs (TLS uniquement quand TLS est activé). |
Port Raft de Keeper (keeper_raft_port) | port | 9234 | - | non | non | non | Port du protocole Raft entre les nœuds Keeper (Raft sécurisé quand TLS est activé). |
Nom du cluster (cluster_name) | string | navin | ^[a-z][a-z0-9_]{0,40}$ | non | non | non | Nom du cluster dans remote_servers (ON CLUSTER). |
Réplicas par partition (replicas) | int | 2 | min 1, max 5 | non | non | non | Serveurs par partition ; les serveurs sont groupés dans l'ordre de la topologie. |
Réglages
| Paramètre | Type | Défaut | Valeurs permises | Obligatoire | Secret | Redémarrage | Description |
|---|
Part de mémoire (max_server_memory_ratio) | float | 0.8 | min 0.1, max 0.95 | non | non | non | Part de la mémoire de l'hôte que le serveur peut utiliser. |
Sécurité
| Paramètre | Type | Défaut | Valeurs permises | Obligatoire | Secret | Redémarrage | Description |
|---|
Mot de passe administrateur (admin_password) | password | généré | - | non | oui | non | Mot de passe de l'utilisateur navin_admin (gestion des accès, commandes d'exploitation). |
Mot de passe interserveur (interserver_password) | password | généré | - | non | oui | non | Identifiant partagé par les réplicas. |
TLS (tls_enabled) | bool | false | - | non | non | oui | Servir HTTPS, le protocole natif en TLS, l'interserveur en HTTPS et, en mode cluster, Keeper et son Raft en TLS avec le certificat émis par l'autorité de la console ; les ports en clair sont fermés. |
Points d'accès
| Point d'accès | Schéma | Composant | Port | Chemin | Paramètre TLS | Paramètres de liaison | Secrets de liaison | Commande de provisionnement |
|---|
http | http | server | 8123 (http_port) | - | tls_enabled | username, database, tls | password | provision_consumer |
native | clickhouse | server | 9000 (native_port) | - | tls_enabled | username, database, tls | password | provision_consumer |
Commandes
| Commande | Composant | Cible | Description |
|---|
Provisionner la base d'un consommateur (provision_consumer) | server | premier hôte | Crée ou met à jour l'utilisateur et la base d'un service consommateur sur tout le cluster (idempotent). |
Provisionner la base de télémétrie (provision_telemetry) | server | premier hôte | Crée la base navin_manager de la télémétrie temps réel des machines et des services, son utilisateur d'écriture navin_manager (NM_CLICKHOUSE_USER du Manager) et l'utilisateur en lecture seule navin_reader des analyses SQL et des tableaux de bord exploités par le client (idempotent). |
Disposition du cluster (system_clusters) | server | premier hôte | Liste system.clusters (partitions, réplicas, erreurs). |
File de réplication (replication_queue) | server | tous les hôtes | Affiche les tâches de réplication en attente de chaque serveur. |
Paramètres des commandes
| Commande | Paramètre | Type | Défaut | Obligatoire | Description |
|---|
provision_consumer | Base de données (database) | string | - | oui | Base de données du consommateur. |
provision_consumer | Utilisateur (username) | string | - | oui | Utilisateur du consommateur. |
provision_consumer | Mot de passe (password) | password | - | oui | Mot de passe de l'utilisateur (dérivé par consommateur). |
provision_telemetry | Mot de passe d'écriture (writer_password) | password | - | oui | Mot de passe de navin_manager, l'utilisateur avec lequel le Manager exporte (NM_CLICKHOUSE_PASSWORD_FILE). |
provision_telemetry | Mot de passe de lecture (reader_password) | password | - | oui | Mot de passe de navin_reader, utilisateur en lecture seule des tableaux de bord (SELECT sur navin_manager uniquement). |
Contrôles de santé
Vivacité (par instance)
| Composant | Contrôle | Détails |
|---|
keeper | TCP {{ host.ip or '127.0.0.1' }}:{{ config.keeper_port }} | - |
server | HTTP {{ ('https://' ~ host.fqdn) if config.tls_enabled else ('http://' ~ (host.ip or '127.0.0.1')) }}:{{ config.http_port }}/ping | Attendu 200 ; Attendu Ok. ; 60 tentatives |
Disponibilité (contrôle du service)
| Contrôle | Détails |
|---|
HTTP {{ ('https://' ~ host.fqdn) if config.tls_enabled else ('http://' ~ (host.ip or '127.0.0.1')) }}:{{ config.http_port }}/ping | Attendu 200 |
Contrôles préalables
| Contrôle | Type | Signification | Sévérité | Composants |
|---|
memory | memory_mb {"min": 4096} | au moins 4096 Mo de mémoire | bloquant | tous les composants |
cpu | cpu_count {"min": 2} | au moins 2 CPU | avertissement | tous les composants |
http_port_free | port_free {"param": "http_port"} | port 8123 libre sur l'hôte | bloquant | server |
Sauvegarde et restauration
BACKUP natif de toutes les bases hors système vers le disque local navin_backups, archivé ; la restauration supprime les bases hors système puis lance RESTORE (P5C-008, moteurs clickhouse_backup et clickhouse_restore). Mode serveur unique seulement : le mode partitionné exige BACKUP ON CLUSTER vers un disque partagé et le script le refuse avec un message explicite.
| |
|---|
| Format | clickhouse-native |
| Composant | server |
| Fichiers | {{ backup.dir }}/clickhouse.tar.gz |
| Test de restauration | non |
| Instances arrêtées pendant la restauration | non |
Désinstallation
Chemins supprimés quand les données sont purgées : {{ paths.data }}, {{ paths.log }}.
Liens rapides
- Play (console SQL) :
{{ 'https' if config.tls_enabled else 'http' }}://{{ host.fqdn }}:{{ config.http_port }}/play
Documentation amont