Skip to content

Instantly share code, notes, and snippets.

@morjuax
Last active July 31, 2025 13:31
Show Gist options
  • Save morjuax/8cdf5c0523bc6cee01f8812dc45a2306 to your computer and use it in GitHub Desktop.
Save morjuax/8cdf5c0523bc6cee01f8812dc45a2306 to your computer and use it in GitHub Desktop.
Crear server kafka local con su topico

Configurar Kafka Local con Docker en macOS

1. Requisitos previos

  • Docker: Asegúrate de tener Docker instalado en tu macOS. Puedes descargarlo desde aquí.
  • Docker Compose: Viene incluido con Docker Desktop, así que no necesitas instalarlo por separado.

2. Usar Docker Compose para Kafka

Docker Compose te permite definir y ejecutar múltiples contenedores (como Kafka y Zookeeper) con un solo archivo de configuración.

Crea un archivo docker-compose.yml

Crea un archivo llamado docker-compose.yml en una carpeta de tu elección y pega el siguiente contenido:

version: '3'
services:
  zookeeper:
    image: confluentinc/cp-zookeeper:latest
    container_name: zookeeper
    ports:
      - "2181:2181"
    environment:
      ZOOKEEPER_CLIENT_PORT: 2181
      ZOOKEEPER_TICK_TIME: 2000
  kafka:
    image: confluentinc/cp-kafka:latest
    container_name: kafka
    ports:
      - "9092:9092"
    environment:
      KAFKA_BROKER_ID: 1
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9092
      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
    depends_on:
      - zookeeper

Inicia los contenedores

En la terminal, navega a la carpeta donde guardaste el archivo docker-compose.yml y ejecuta:

docker-compose up -d

Esto descargará las imágenes de Zookeeper y Kafka (si no las tienes) y levantará los contenedores en segundo plano.

3. Verificar que Kafka está funcionando

Verifica que los contenedores están en ejecución

docker ps

Deberías ver dos contenedores: zookeeper y kafka.

Accede al contenedor de Kafka

docker exec -it kafka /bin/bash

4. Crear un tema y probar Kafka

Una vez dentro del contenedor de Kafka, puedes usar los comandos de Kafka para crear un tema, producir y consumir mensajes.

Crear un tema

kafka-topics --create --topic mi-tema-prueba --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1

Enviar mensajes (Productor)

kafka-console-producer --topic mi-tema-prueba --bootstrap-server localhost:9092

Escribe algunos mensajes y presiona Enter después de cada uno.

Leer mensajes (Consumidor)

kafka-console-consumer --topic mi-tema-prueba --from-beginning --bootstrap-server localhost:9092

Verás los mensajes que enviaste desde el productor.

5. Detener los contenedores

Cuando termines, puedes detener y eliminar los contenedores con:

docker-compose down

6. Alternativa: Usar imágenes preconfiguradas

Si prefieres no usar Docker Compose, puedes ejecutar Kafka y Zookeeper con comandos docker run individuales. Sin embargo, Docker Compose es más conveniente para manejar múltiples contenedores.

Ventajas de usar Docker

  • No necesitas instalar Java, Kafka o Zookeeper en tu sistema.
  • Todo está aislado en contenedores, lo que facilita la limpieza y evita conflictos con otras versiones.
  • Puedes levantar y detener Kafka rápidamente con un solo comando.

Comandos útiles adicionales

Listar temas existentes

kafka-topics --list --bootstrap-server localhost:9092

Ver información de un tema

kafka-topics --describe --topic mi-tema-prueba --bootstrap-server localhost:9092

Eliminar un tema

kafka-topics --delete --topic mi-tema-prueba --bootstrap-server localhost:9092
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment