Apache Kafka: Instalação Simples em Windows e Linux (Guia Completo)

O Apache Kafka representa uma plataforma de streaming de mensagens, facilitando a comunicação e o compartilhamento de dados entre diversas aplicações dentro de um sistema distribuído. Essa troca ocorre através de mensagens, garantindo a fluidez das informações.

Seu funcionamento segue um modelo de publicação/assinatura, onde aplicações produtoras emitem mensagens e sistemas consumidores se inscrevem para recebê-las. Este mecanismo assegura uma distribuição eficiente e organizada dos dados.

A adoção do Apache Kafka promove uma arquitetura de baixo acoplamento entre os componentes de um sistema que geram e utilizam dados. Tal abordagem simplifica o design e a gestão do sistema como um todo. O Kafka utiliza o Zookeeper para administrar metadados e coordenar os diversos elementos do cluster.

Atributos Notáveis do Apache Kafka

O Apache Kafka consolidou sua popularidade devido, entre outros fatores, a:

  • Sua escalabilidade, suportada por clusters e partições eficientes
  • Sua alta velocidade, com capacidade para processar até 2 milhões de gravações por segundo
  • A manutenção da ordem cronológica das mensagens enviadas
  • Sua confiabilidade, garantida pelo sistema de réplicas
  • A capacidade de ser atualizado sem interrupções no serviço

A seguir, exploraremos algumas das aplicações mais comuns do Kafka.

Aplicações Práticas do Apache Kafka

O Kafka é frequentemente empregado no processamento de grandes volumes de dados, no registro e agregação de eventos (como cliques em botões para análise) e na centralização de logs de diferentes partes de um sistema. Sua versatilidade o torna uma ferramenta valiosa em diversos cenários.

Além disso, ele possibilita a comunicação entre diferentes aplicações dentro de um sistema e viabiliza o processamento em tempo real de dados provenientes de dispositivos IoT, o que aumenta sua relevância em aplicações modernas.

Agora, vamos detalhar os passos necessários para instalar o Kafka tanto no Windows quanto no Linux.

Instalando o Kafka no Windows

Antes de iniciar a instalação do Apache Kafka no Windows, é fundamental verificar se o Java está corretamente instalado. Para isso, abra o Prompt de Comando como Administrador e execute o seguinte comando:

java --version

Se o Java estiver instalado, você verá a versão do JDK atualmente em uso.

Caso apareça uma mensagem de erro indicando que o comando não foi reconhecido, isso significa que o Java não está instalado e precisa ser configurado. Para instalar o Java, acesse o site Adoptium.net e clique no botão de download.

Isso iniciará o download do instalador do Java. Após a conclusão do download, execute o instalador, que abrirá o processo de instalação.

Pressione “Avançar” para aceitar as configurações padrão. A instalação começará logo em seguida. Para verificar se a instalação foi bem-sucedida, feche o Prompt de Comando, abra-o novamente como Administrador e digite o comando:

java --version

Agora, você deverá ver a versão do JDK que acabou de instalar. Com a instalação do Java confirmada, podemos prosseguir para a instalação do Kafka.

Para instalar o Kafka, acesse o site oficial do Kafka.

Clique no link que leva à página de downloads e escolha a versão binária mais recente.

O download resultará em um arquivo .tgz contendo os scripts e binários do Kafka. Após o download, você precisará extrair os arquivos. Para isso, você pode usar o WinZip, disponível para download em seu site oficial.

Após a extração, mova a pasta extraída para C: para que o caminho se torne C:kafka.

Em seguida, abra o Prompt de Comando como Administrador e inicie o Zookeeper navegando até o diretório do Kafka e executando o arquivo zookeeper-server-start.bat com o arquivo de configuração zookeeper.properties.

cd C:kafka
binwindowszookeeper-server-start.bat configzookeeper.properties

Com o Zookeeper em execução, adicione o executável wmic, utilizado pelo Kafka, ao PATH do sistema.

set PATH=C:WindowsSystem32wbem;%PATH%;

Feito isso, inicie o servidor Apache Kafka abrindo outra sessão do Prompt de Comando como Administrador e navegando até a pasta C:kafka.

cd C:kafka

Em seguida, inicie o Kafka com o comando:

binwindowskafka-server-start.bat configserver.properties

Neste ponto, o Kafka deve estar em funcionamento. Você pode personalizar as propriedades do servidor, como o local de armazenamento dos logs, no arquivo server.properties.

Instalando o Kafka no Linux

Inicialmente, garanta que seu sistema esteja atualizado, atualizando todos os pacotes.

sudo apt update && sudo apt upgrade

Verifique se o Java está instalado executando o comando:

java --version

Se o Java estiver instalado, você verá a versão. Caso contrário, você pode instalá-lo usando o apt.

sudo apt install default-jdk

Com o Java configurado, podemos prosseguir para a instalação do Apache Kafka, baixando os binários do site.

Abra o terminal e navegue até o diretório onde o download foi salvo. No exemplo, o download está na pasta Downloads.

cd Downloads

Na pasta de downloads, extraia os arquivos baixados com o comando tar:

tar -xvzf kafka_2.13-3.3.1.tgz

Acesse a pasta extraída:

cd kafka_2.13-3.3.1.tgz

Liste os diretórios e arquivos para confirmar a extração.

Dentro da pasta, inicie o servidor Zookeeper executando o script zookeeper-server-start.sh, localizado no diretório bin da pasta extraída.

Este script requer um arquivo de configuração do Zookeeper, geralmente o zookeeper.properties, localizado no subdiretório config.

Para iniciar o servidor, utilize o comando:

bin/zookeeper-server-start.sh config/zookeeper.properties

Com o Zookeeper em execução, podemos iniciar o servidor Apache Kafka. O script kafka-server-start.sh também está no diretório bin e também necessita de um arquivo de configuração, que por padrão é o server.properties, armazenado na pasta config.

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

Com isso, o Apache Kafka estará operacional. Dentro do diretório bin, você encontrará vários scripts para diversas operações, como criação de tópicos, gerenciamento de produtores e consumidores. Você também pode customizar as propriedades do servidor no arquivo server.properties.

Considerações Finais

Neste guia, abordamos o processo de instalação do Java e do Apache Kafka. Embora seja possível configurar e gerenciar clusters Kafka manualmente, também existem opções gerenciadas, como os serviços da Amazon Web Services e da Confluent.

Como próximo passo, você pode aprender sobre o processamento de dados utilizando Kafka e Spark.