Instale o Apache Kafka no Ubuntu 20.04: Guia Completo Passo a Passo

Introdução ao Apache Kafka

O Apache Kafka se destaca como uma plataforma de streaming distribuída de alta performance, projetada para permitir que empresas capturem, armazenem e processem vastos volumes de dados em tempo real. Sua arquitetura, notavelmente escalável e resistente a falhas, a torna uma solução ideal para gerenciar fluxos de dados em tempo real, englobando desde o processamento de eventos até a análise de streaming e a integração de dados.

Este guia completo tem como objetivo fornecer um passo a passo detalhado para a instalação do Apache Kafka em um ambiente Ubuntu 20.04.

Requisitos Essenciais

Antes de iniciar a instalação do Apache Kafka, certifique-se de que os seguintes requisitos sejam atendidos:

– Um servidor Ubuntu 20.04 com privilégios de superusuário (root).
– Uma conexão de internet estável e ativa.
– Java Development Kit (JDK) versão 8 ou superior já instalado.

Procedimento para Instalação do Java JDK

Caso o Java JDK ainda não esteja instalado, siga as instruções abaixo:


sudo apt update
sudo apt install openjdk-11-jdk

Para verificar se o Java foi instalado corretamente, execute:


java -version

Criação de um Usuário Dedicado para o Kafka

Por questões de segurança, é altamente recomendável criar um usuário específico para operar o Kafka:


sudo adduser kafka

Download e Descompactação do Apache Kafka

Obtenha o arquivo TAR comprimido mais recente do Apache Kafka diretamente do site oficial:


wget https://mirrors.estointernet.in/apache/kafka/3.3.1/kafka_2.13-3.3.1.tgz

Em seguida, extraia o conteúdo do arquivo para o seu diretório inicial:


tar -xzf kafka_2.13-3.3.1.tgz

Configuração Básica do Apache Kafka

Mova o diretório do Kafka para a pasta /opt:


sudo mv kafka_2.13-3.3.1 /opt/kafka

Garanta que o usuário “kafka” tenha permissão para acessar o diretório:


sudo chown -R kafka:kafka /opt/kafka

Ajustes nos Parâmetros de Inicialização do Kafka

Edite o arquivo de configuração do servidor Kafka:


sudo nano /opt/kafka/config/server.properties

No arquivo, faça as seguintes modificações:

broker.id: Defina um ID exclusivo para o seu broker Kafka.
port: Especifique a porta em que o broker receberá conexões (geralmente 9092).
log.dirs: Indique o diretório onde os logs do Kafka serão armazenados.
num.partitions: Defina o número inicial de partições para cada tópico.
replication.factor: Determine o número de réplicas para cada partição.

Um exemplo de como o arquivo server.properties pode ser configurado:


broker.id=1
port=9092
log.dirs=/var/log/kafka
num.partitions=3
replication.factor=2

Inicialização do Servidor Apache Kafka

Para iniciar o broker Kafka, execute:


sudo /opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties

Para confirmar que o Kafka está operando, utilize:


sudo /opt/kafka/bin/kafka-topics.sh --list

Inicialmente, a lista de tópicos deve estar vazia.

Criação de um Tópico de Teste

Crie um novo tópico para fins de teste:


sudo /opt/kafka/bin/kafka-topics.sh --create --topic my-topic --partitions 3 --replication-factor 2

Produção de Mensagens para o Tópico

Envie mensagens para o tópico criado:


sudo /opt/kafka/bin/kafka-console-producer.sh --topic my-topic --message "Olá, Kafka!"

Consumo de Mensagens do Tópico

Receba as mensagens do tópico:


sudo /opt/kafka/bin/kafka-console-consumer.sh --topic my-topic --from-beginning

Configuração do Firewall

Para habilitar conexões externas ao Kafka, ajuste o firewall para permitir tráfego na porta especificada no arquivo server.properties (normalmente 9092):


sudo ufw allow 9092/tcp
sudo ufw enable

Conclusão

Parabéns! Você concluiu com êxito a instalação do Apache Kafka no Ubuntu 20.04. Agora, você está pronto para usar o Kafka no processamento e gerenciamento de dados em tempo real.

É importante lembrar que esta é uma instalação básica. Ajustes e personalizações adicionais podem ser necessários dependendo das suas necessidades específicas.

Perguntas Frequentes (FAQs)

1. Por que usar o Apache Kafka?
O Kafka se destaca por ser uma plataforma de streaming distribuída, altamente escalável e tolerante a falhas, ideal para o gerenciamento de dados em tempo real.

2. Quais os requisitos para instalação do Kafka?
Você precisa de um servidor Ubuntu 20.04 com acesso root, conexão à internet e Java JDK 8 ou superior.

3. Como criar um novo tópico?
Use o comando kafka-topics.sh --create --topic [nome-do-tópico] --partitions [número-de-partições] --replication-factor [fator-de-replica].

4. Como enviar mensagens para um tópico?
Use o comando kafka-console-producer.sh --topic [nome-do-tópico] --message [mensagem].

5. Como consumir mensagens de um tópico?
Use o comando kafka-console-consumer.sh --topic [nome-do-tópico] --from-beginning.

6. Como configurar o firewall para o Kafka?
Utilize ufw allow [porta-do-kafka]/tcp e ufw enable.

7. O Kafka pode ser instalado em outros sistemas?
Sim, ele pode ser instalado em Windows, macOS e outras distribuições Linux.

8. Onde encontrar mais informações sobre o Kafka?
Documentação do Apache Kafka
Tutorial do Apache Kafka