Skip to main content

Introduction

Dans ce guide, nous verrons comment connecter ClickHouse à Kafka à l’aide de collections nommées. L’utilisation du fichier de configuration des collections nommées présente plusieurs avantages :
  • Gestion centralisée et simplifiée des paramètres de configuration.
  • Les paramètres peuvent être modifiés sans changer les définitions de tables SQL.
  • Examen et dépannage des configurations facilités grâce à l’inspection d’un seul fichier de configuration.
Ce guide a été testé avec Apache Kafka 3.4.1 et ClickHouse 24.5.1.

Prérequis

Ce document suppose que vous disposez de :
  1. Un cluster Kafka opérationnel.
  2. Un cluster ClickHouse configuré et en cours d’exécution.
  3. Des connaissances de base en SQL et une bonne maîtrise des configurations de ClickHouse et de Kafka.

Prérequis

Assurez-vous que l’utilisateur qui crée la collection nommée dispose des autorisations d’accès nécessaires :
Consultez le Guide de gestion des utilisateurs pour plus de détails sur l’activation du contrôle d’accès.

Configuration

Ajoutez la section suivante au fichier config.xml de ClickHouse :

Remarques de configuration

  1. Ajustez les adresses Kafka et les configurations associées en fonction de la configuration de votre cluster Kafka.
  2. La section située avant <kafka> contient les paramètres du moteur Kafka de ClickHouse. Pour obtenir la liste complète des paramètres, consultez les Paramètres du moteur Kafka .
  3. La section située dans <kafka> contient des options de configuration Kafka étendues. Pour plus d’options, consultez la configuration de librdkafka.
  4. Cet exemple utilise le protocole de sécurité SASL_SSL et le mécanisme PLAIN. Ajustez ces paramètres en fonction de la configuration de votre cluster Kafka.

Création des tables et des bases de données

Créez les bases de données et les tables nécessaires sur votre cluster ClickHouse. Si vous exécutez ClickHouse sur un seul nœud, omettez la partie relative au cluster dans la commande SQL et utilisez n’importe quel autre moteur à la place de ReplicatedMergeTree.

Créer la base de données

Créer des tables Kafka

Créez la première table Kafka du premier cluster Kafka :
Créez la deuxième table Kafka pour le deuxième cluster Kafka :

Créer des tables répliquées

Créez une table pour la première table Kafka :
Créez une table pour la seconde table Kafka :

Créer des vues matérialisées

Créez une vue matérialisée pour insérer des données depuis la première table Kafka vers la première table répliquée :
Créez une vue matérialisée pour insérer des données de la deuxième table Kafka dans la deuxième table répliquée :

Vérification de la configuration

Vous devriez maintenant voir les groupes de consommateurs respectifs sur vos clusters Kafka :
  • cluster_1_clickhouse_consumer sur cluster_1
  • cluster_2_clickhouse_consumer sur cluster_2
Exécutez les requêtes suivantes sur n’importe quel nœud ClickHouse pour afficher les données dans les deux tables :

Remarque

Dans ce guide, les données ingérées dans les deux topics Kafka sont les mêmes. Dans votre cas, elles seraient différentes. Vous pouvez ajouter autant de clusters Kafka que vous le souhaitez. Exemple de sortie :
Cela termine la configuration de l’intégration de ClickHouse avec Kafka à l’aide de collections nommées. En centralisant les configurations de Kafka dans le fichier config.xml de ClickHouse, vous pouvez gérer et ajuster les paramètres plus facilement, ce qui garantit une intégration fluide et efficace.
Dernière modification le 3 juillet 2026