DEV Community

Cover image for Docker Compose - Kafka simples
Alexandre Fernandes dos Santos
Alexandre Fernandes dos Santos

Posted on

Docker Compose - Kafka simples

Olá meu pessoal bom de papo, tudo bão?😁 Vim aqui com um script que aprendi para poder fazer um trabalho da faculdade usando Kafka e Python, quem sabe faço outro artigo mostrando como conectei e criei os consumers e producers usando Python.

Bem é um script com intuito de ser simples, pois a maioria dos que eu vi eram um pouco complicados e com outras ferramentas das quais eu não necessitava.

Na versão final só deixei o Zookeeper usado no kafka para fazer com que tudo trabalhe em conjunto de forma correta, o Kafka em si, e uma dash para ver melhor o que está acontecendo (isso ajuda muito) sendo possível de acessar pelo navegador no endereço localhost:8080

Script 📑

version: '3'
services:
  zookeeper:
    image: confluentinc/cp-zookeeper:latest
    environment:
      ZOOKEEPER_CLIENT_PORT: 2181
      ZOOKEEPER_TICK_TIME: 2000
    ports:
      - 2181:2181

  kafka:
    image: confluentinc/cp-kafka:latest
    depends_on:
      - zookeeper
    ports:
      - 29092:29092
    environment:
      KAFKA_BROKER_ID: 1
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092,PLAINTEXT_HOST://localhost:29092
      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
      KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1

  kafka-ui:
    image: provectuslabs/kafka-ui
    container_name: kafka-ui
    ports:
      - "8080:8080"
    restart: always
    environment:
      - KAFKA_CLUSTERS_0_NAME=local
      - KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS=kafka:9092
      - KAFKA_CLUSTERS_0_ZOOKEEPER=zookeeper:2181
Enter fullscreen mode Exit fullscreen mode

Algumas observações❗

O kafka está exposto na porta 29092 então quando for conectar coloque para conectar nesta porta em localhost.
Se for fazer alguma mudança cheque se as conexões entre os serviços estão funcionando, por exemplo, se mudar a porta do kafka será necessário alterar tanto no kafka-ui quanto no zookeeper

E por hoje é só pessoal! tchau 👋

Top comments (2)

Collapse
 
geovrodri profile image
Geovany Rodrigues

Me ajudou bastante! 👏 👏

Collapse
 
xandecodes profile image
Alexandre Fernandes dos Santos

Vlww mano 😆