Skip to main content

Introdução

Neste guia, vamos ver como conectar o ClickHouse ao Kafka usando coleções nomeadas. Usar o arquivo de configuração para coleções nomeadas oferece várias vantagens:
  • Gerenciamento centralizado e mais simples das configurações.
  • As configurações podem ser alteradas sem modificar as definições SQL das tabelas.
  • Fica mais fácil revisar e solucionar problemas de configuração ao inspecionar um único arquivo de configuração.
Este guia foi testado com Apache Kafka 3.4.1 e ClickHouse 24.5.1.

Premissas

Este documento pressupõe que você tenha:
  1. Um cluster Kafka em funcionamento.
  2. Um cluster ClickHouse configurado e em execução.
  3. Conhecimento básico de SQL e familiaridade com as configurações do ClickHouse e do Kafka.

Pré-requisitos

Certifique-se de que o usuário que está criando a coleção nomeada tenha as permissões de acesso necessárias:
Consulte o Guia de gerenciamento de usuários para obter mais detalhes sobre como habilitar o controle de acesso.

Configuração

Adicione a seção a seguir ao arquivo config.xml do ClickHouse:

Observações sobre a configuração

  1. Ajuste os endereços do Kafka e as configurações relacionadas para que correspondam à configuração do seu cluster Kafka.
  2. A seção anterior a <kafka> contém os parâmetros do motor Kafka do ClickHouse. Para ver a lista completa de parâmetros, consulte parâmetros do motor Kafka.
  3. A seção dentro de <kafka> contém opções avançadas de configuração do Kafka. Para ver mais opções, consulte a configuração do librdkafka.
  4. Este exemplo usa o protocolo de segurança SASL_SSL e o mecanismo PLAIN. Ajuste essas configurações de acordo com a configuração do seu cluster Kafka.

Criando tabelas e bancos de dados

Crie os bancos de dados e as tabelas necessários no seu cluster do ClickHouse. Se estiver executando o ClickHouse em um único nó, omita a parte referente ao cluster no comando SQL e use qualquer outro engine em vez de ReplicatedMergeTree.

Criar o banco de dados

Criar tabelas do Kafka

Crie a primeira tabela do Kafka para o primeiro cluster Kafka:
Crie a segunda tabela do Kafka para o segundo cluster do Kafka:

Criar tabelas replicadas

Crie uma tabela para a primeira tabela do Kafka:
Crie uma tabela para a segunda tabela do Kafka:

Criar visões materializadas

Crie uma visão materializada para inserir dados da primeira tabela do Kafka na primeira tabela replicada:
Crie uma visão materializada para inserir dados da segunda tabela Kafka na segunda tabela replicada:

Verificando a configuração

Agora você deve ver os grupos de consumidores correspondentes nos seus clusters do Kafka:
  • cluster_1_clickhouse_consumer em cluster_1
  • cluster_2_clickhouse_consumer em cluster_2
Execute as consultas a seguir em qualquer um dos nós do ClickHouse para ver os dados em ambas as tabelas:

Observação

Neste guia, os dados ingeridos em ambos os tópicos do Kafka são os mesmos. No seu caso, eles seriam diferentes. Você pode adicionar quantos clusters Kafka quiser. Saída de exemplo:
Isso conclui a configuração para integrar o ClickHouse ao Kafka usando coleção nomeada. Ao centralizar as configurações do Kafka no arquivo config.xml do ClickHouse, você pode gerenciá-las e ajustá-las com mais facilidade, garantindo uma integração mais simples e eficiente.
Última modificação em 3 de julho de 2026