Rodando o Apache Kafka localmente

Entendendo o Kafka

Rodando o Apache Kafka localmente

Post originalmente publicado em dev.to.

Continuando a série de Entendendo o Kafka, vou criar aqui um pequeno tutorial de como rodar o Kafka localmente em ambiente Windows.

Para desenvolvimento, recomendo usar containers Docker. Porém, para aprendizado vale a pena configurar um cluster manualmente.

Configurando

  1. Instale o JDK 8
  2. Baixe a última versão do Kafka em https://kafka.apache.org/downloads
    • Há várias versões baseadas na versão do Scala, escolha qualquer uma delas. Vamos usar a kafka_2.12-2.4.0 por ela estar recomendada no site.
  3. Extraia o arquivo
    • No Windows a extensão .tgz não é muito amigável, mas você precisa das ferramentas corretas. Dica, use o 7-Zip. Com ele dá pra extrair usando o menu de contexto do mouse.
  4. Feito! Não é necessário nenhuma configuração a mais. Para melhor organização eu sempre instalo em C:\opt, ficando o Kafka com o PATH C:\opt\kafka.

Iniciando o Servidor Kafka

O Kafka depende do Zookeeper. Este é um serviço para sincronia de configurações. Provavelmente será removido em futuras release. Mas por enquanto é necessário.

Para iniciar o Kafka, abra duas linhas de comando e execute a partir da pasta de instalação do Kafka:

.\bin\windows\zookeeper-server-start.bat config\zookeeper.properties
.\bin\windows\kafka-server-start.bat config\server.properties

Pronto! Você tem um Kafka Up & Running!

Testando o Cluster

Para testar o cluster, a instalação do Kafka já vem com alguns scripts preparados.

Primeiro precisamos criar um tópico para enviar mensagens. Isso pode ser feito com a linha abaixo:

.\bin\windows\kafka-topics.bat --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test

Após criado o tópico é só, a partir de duas janelas, executar as seguintes linhas abaixo:

.\bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test --from-beginning

Kafka Consumer

.\bin\windows\kafka-console-producer.bat --broker-list localhost:9092 --topic test

Kafka Producer

A primeira inicia um consumidor do Tópico test e a segunda um produtor. Cada mensagem escrita na segunda será enviada para a primeira.

Conclusão

É fácil configurar um servidor Kafka para testes. Em outra oportunidade vou compartilhar como utilizar uma imagem docker, mas por enquanto apenas com o JDK 8 instalado é possível fazer essa configuração de qualquer ambiente.

Licença Creative Commons
Este obra está licenciado com uma Licença Creative Commons Atribuição-NãoComercial-CompartilhaIgual 4.0 Internacional .