Como instalar o Apache Kafka no Ubuntu 22.04

Como instalar o Apache Kafka no Ubuntu 22.04

Apache Kafka é uma plataforma de streaming de eventos distribuída e de código aberto desenvolvido pela Apache Software Foundation. Isso está escrito em linguagens de programação Scala e Java. Você pode instalar o Kafka em qualquer plataforma que suporta a linguagem de programação Java.

Este tutorial fornece instruções passo a passo para instalar o Apache Kafka no Ubuntu 22.04 LTS Linux System. Você também aprenderá a criar tópicos em Kafka e executar nós de produtor e consumidor.

Pré -requisitos

Você deve ter acesso à conta privilegiada do sudo ao Ubuntu 22.04 Sistema Linux.

Etapa 1 - Instalando Java

Podemos executar o servidor Apache Kafka em sistemas que suportam Java. Então, verifique se você está instalado em Java no seu sistema Ubuntu.

Use os seguintes comandos para instalar o OpenJDK no seu sistema Ubuntu a partir dos repositórios oficiais.

Atualização do sudo apt  sudo apt install default-jdk  

Verifique a versão Java ativa atual.

Java -Versão  
Saída: versão OpenJDK "11.0.15 "2022-04-19 OpenJdk Runtime Environment (Build 11.0.15+10-Ubuntu-0ubuntu0.22.04.1) OpenJDK de 64 bits servidor VM (Build 11.0.15+10-Ubuntu-0ubuntu0.22.04.1, modo misto, compartilhamento) 

Etapa 2 - Baixe o último Apache Kafka

Você pode baixar os últimos arquivos binários do Apache Kafka de sua página de download oficial. Alternativivaly Você pode baixar Kafka 3.2.0 com o comando abaixo.

wget https: // dlcdn.apache.org/kafka/3.2.0/kafka_2.13-3.2.0.TGZ  

Em seguida, extraia o arquivo de arquivo baixado e coloque -os em /usr/local/kafka diretório.

Tar xzf kafka_2.13-3.2.0.TGZ  sudo mv kafka_2.13-3.2.0/usr/local/kafka  

Etapa 3 - Crie scripts de inicialização do Systemd

Agora, crie arquivos da unidade Systemd para os serviços Zookeeper e Kafka. Isso ajudará você a iniciar/parar o serviço Kafka de uma maneira fácil.

Primeiro, crie um arquivo de unidade Systemd para Zookeeper:

sudo nano/etc/Systemd/System/Zookeeper.serviço  

E adicione o seguinte conteúdo:

[Unidade] Descrição = Apache Zookeeper Server Documentation = http: // zookeeper.apache.org requer = rede.alvo remoto-fs.Target After = Network.alvo remoto-fs.Target [Service] Type = simples execStart =/usr/local/kafka/bin/zookeeper-server-start.sh/usr/local/kafka/config/zookeeper.Propriedades Execstop =/usr/local/kafka/bin/zookeeper-server-stop.reinicialização sh = on-abnormal [install] wantedby = multi-user.alvo 

Salve o arquivo e feche-o.

Em seguida, crie um arquivo de unidade Systemd para o serviço Kafka:

sudo nano/etc/systemd/system/kafka.serviço  

Adicione o conteúdo abaixo. Certifique -se de definir o correto Java_home Caminho conforme o Java instalado em seu sistema.

[Unidade] Descrição = documentação do servidor Apache Kafka = http: // kafka.apache.org/documentação.html requer = zookeeper.Serviço [Serviço] TIPO = Ambiente simples = "Java_home =/usr/lib/jvm/java-11-openjdk-amd64" ExecStart =/usr/local/kafka/bin/kafka-server-start.sh/usr/local/kafka/config/servidor.Propriedades exectop =/usr/local/kafka/bin/kafka-server-stop.sh [install] wantedby = multiususer.alvo 

Salve o arquivo e feche.

Recarregue o daemon Systemd para aplicar novas alterações.

SUDO SystemCTL Daemon-Reload  

Isso recarregará todos os arquivos Systemd no ambiente do sistema.

Etapa 4 - Start Zookeeper e Kafka Services

Vamos começar os dois serviços um por um. Primeiro, você precisa iniciar o serviço Zookeeper e depois começar a Kafka. Use o comando SystemCTL para iniciar uma instância de Zookeeper de um nó único.

SUDO SYSTEMCTL START Zookeeper  sudo systemctl start kafka  

Verifique o status dos dois serviços:

SUDO SYSTEMCTL STATUS Zookeeper  SUDO SYSTEMCTL STATUS KAFKA  

É isso. Você instalou com sucesso o servidor Apache Kafka no Ubuntu 22.04 Sistema. Em seguida, criaremos tópicos no servidor Kafka.

Etapa 5 - Crie um tópico em Kafka

Kafka fornece múltiplos scripts de shell pré-construído para trabalhar nele. Primeiro, crie um tópico chamado "TestTopic" com uma única partição com uma única réplica:

CD/usr/local/kafka  bin/kafka-topics.sh --create --bootstrap-server localhost: 9092-Replicação-fator 1-Partições 1-TOPIC TESTTICO  
Saída de tópico criado Testtopic. 

Aqui:

  • Usar --criar opção para criar um novo tópico
  • O --Fator de replicação descreve quantas cópias de dados serão criadas. Como estamos executando com uma única instância, mantenha este valor 1.
  • Colocou o --partições opções como o número de corretores que você deseja que seus dados sejam divididos entre. Como estamos correndo com um único corretor, mantenha este valor 1.
  • O --tema Defina o nome do tópico

Você pode criar vários tópicos executando o mesmo comando que acima. Depois disso, você pode ver os tópicos criados em Kafka pelo comando Running Abaixo:

bin/kafka-topics.SH-LIST-LocalHost de servidor-servidor: 9092  

A saída se parece com a captura de tela abaixo:

Listando tópicos de Kafka

Como alternativa, em vez de criar tópicos manualmente, você também pode configurar seus corretores para criar tópicos de criação automática quando um tópico inexistente é publicado para.

Etapa 6 - Envie e receba mensagens em Kafka

O "produtor" é o processo responsável por colocar dados em nosso kafka. O Kafka vem com um cliente da linha de comando que receberá informações de um arquivo ou de entrada padrão e o enviará como mensagens para o cluster kafka. O Kafka padrão envia cada linha como uma mensagem separada.

Vamos executar o produtor e depois digitar algumas mensagens no console para enviar para o servidor.

Bin/Kafka-Console-produtor.SH-LocalHost de Lista de Bobrista: 9092-Topic Testtopic  > Bem -vindo a Kafka> Este é o meu primeiro tópico> 

Você pode sair deste comando ou manter este terminal em execução para mais testes. Agora abra um novo terminal para o processo de consumidor Kafka na próxima etapa.

Kafka também tem um consumidor de linha de comando para ler dados do cluster kafka e exibir mensagens para saída padrão.

Consumidor-consumidor de Bin/Kafka.SH-LocalHost de servidor sh-Bootstrap: 9092-TOPIC TESTTOPIC-Froginning  Bem -vindo a Kafka, este é o meu primeiro tópico 

Agora, se você ainda está executando o produtor Kafka em outro terminal. Basta digitar algum texto nesse terminal do produtor. Será imediatamente visível no terminal do consumidor. Veja a captura de tela abaixo do produtor e consumidor da Kafka no trabalho:

Executando o produtor e o nó do consumidor Apache Kafka

Conclusão

Este tutorial ajudou você a instalar e configurar o servidor Apache Kafka em um Ubuntu 22.04 Sistema Linux. Além disso, você aprendeu a criar um novo tópico no servidor Kafka e executar um processo de produção de amostra e consumidor com Apache Kafka.