Como instalar o Apache Kafka no Ubuntu 20.04

Como instalar o Apache Kafka no Ubuntu 20.04

Introdução

O Apache Kafka é uma plataforma de streaming distribuída que permite às organizações coletar, armazenar e processar grandes quantidades de dados em tempo real. Sua arquitetura escalável e tolerante a falhas torna-o ideal para gerenciar cargas de dados em tempo real, como processamento de eventos, análise de streaming e integração de dados.

Este tutorial fornecerá instruções passo a passo sobre como instalar o Apache Kafka no Ubuntu 20.04.

Pré-requisitos

Antes de instalar o Apache Kafka, certifique-se de ter o seguinte:

– Um servidor Ubuntu 20.04 com acesso root
– Conectividade com a Internet
– Java JDK 8 ou posterior instalado

Instalação do Java JDK

Se você ainda não instalou o Java JDK, execute os seguintes comandos:

shell
sudo apt update
sudo apt install openjdk-11-jdk

Verifique se o Java está instalado corretamente:

shell
java -version

Criação do usuário do Kafka

Crie um usuário dedicado ao Kafka para fins de segurança:

shell
sudo adduser kafka

Download e extração do Apache Kafka

Faça o download do arquivo TAR compactado mais recente do Apache Kafka do site oficial:

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

Extraia o arquivo TAR em seu diretório inicial:

shell
tar -xzf kafka_2.13-3.3.1.tgz

Configuração do Apache Kafka

Mova o diretório do Kafka para /opt:

shell
sudo mv kafka_2.13-3.3.1 /opt/kafka

Atribua a propriedade do diretório ao usuário do Kafka:

shell
sudo chown -R kafka:kafka /opt/kafka

Configuração dos parâmetros de inicialização do Kafka

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

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

Faça as seguintes alterações no arquivo:

broker.id: Defina um ID único para seu broker Kafka.
port: Defina a porta na qual o broker escutará conexões (geralmente 9092).
log.dirs: Especifique 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: Defina o número de réplicas para cada partição.

Um exemplo de um arquivo de configuração server.properties:

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

Inicialização do Apache Kafka

Inicialize o broker Kafka usando o seguinte comando:

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

Verifique se o Kafka está em execução:

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

Você deve ver uma lista de tópicos vazia.

Criando um tópico

Crie um tópico Kafka para testar:

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

Produzindo mensagens

Produza mensagens para o tópico:

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

Consumindo mensagens

Consuma mensagens do tópico:

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

Configurando o Firewall

Se você planeja se conectar ao Kafka de fora do servidor, configure o firewall para permitir conexões na porta que você especificou no arquivo server.properties (geralmente 9092):

shell
sudo ufw allow 9092/tcp
sudo ufw enable

Conclusão

Você instalou com sucesso o Apache Kafka no Ubuntu 20.04. Agora você pode usar o Kafka para coletar, armazenar e processar grandes quantidades de dados em tempo real.

Lembre-se de que esta é apenas uma instalação básica e você pode precisar personalizar a configuração do Kafka de acordo com suas necessidades específicas.

FAQs

1. Por que devo usar o Apache Kafka?
O Kafka é uma plataforma de streaming distribuída altamente escalável e tolerante a falhas, ideal para gerenciar cargas de dados em tempo real.

2. Quais são os requisitos de sistema para instalar o Kafka?
Você precisa de um servidor Ubuntu 20.04 com acesso root, conectividade com a Internet e Java JDK 8 ou posterior instalado.

3. Como faço para 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 produzo mensagens para um tópico?
Use o comando kafka-console-producer.sh --topic [nome-do-tópico] --message [mensagem]

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

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

7. Posso instalar o Kafka em outros sistemas operacionais?
Sim, o Kafka pode ser instalado em outros sistemas operacionais como Windows, macOS e outros sistemas baseados em Linux.

8. Quais recursos adicionais posso usar para aprender mais sobre o Kafka?
Documentação do Apache Kafka