🚀
Module 6: Kafka Setup & Hands-On
50 minutes2 examplesBeginner
Hands-on Examples
Interactive examples to reinforce your learning
Docker Compose Setup
Complete Docker setup for Kafka development environment
Code Example
# docker-compose.yml
version: '3.8'
services:
  zookeeper:
    image: confluentinc/cp-zookeeper:latest
    hostname: zookeeper
    container_name: zookeeper
    ports:
      - "2181:2181"
    environment:
      ZOOKEEPER_CLIENT_PORT: 2181
      ZOOKEEPER_TICK_TIME: 2000
    volumes:
      - zookeeper-data:/var/lib/zookeeper/data
      - zookeeper-logs:/var/lib/zookeeper/log
  kafka:
    image: confluentinc/cp-kafka:latest
    hostname: kafka
    container_name: kafka
    depends_on:
      - zookeeper
    ports:
      - "9092:9092"
      - "9101:9101"
    environment:
      KAFKA_BROKER_ID: 1
      KAFKA_ZOOKEEPER_CONNECT: 'zookeeper:2181'
      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:29092,PLAINTEXT_HOST://localhost:9092
      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
      KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1
      KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1
      KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
      KAFKA_JMX_PORT: 9101
      KAFKA_JMX_HOSTNAME: localhost
    volumes:
      - kafka-data:/var/lib/kafka/data
  kafka-ui:
    image: provectuslabs/kafka-ui:latest
    container_name: kafka-ui
    depends_on:
      - kafka
    ports:
      - "8080:8080"
    environment:
      KAFKA_CLUSTERS_0_NAME: local
      KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: kafka:29092
      KAFKA_CLUSTERS_0_ZOOKEEPER: zookeeper:2181
volumes:
  zookeeper-data:
  zookeeper-logs:
  kafka-data:
# Start the environment
docker-compose up -d
# Check status
docker-compose ps
# View logs
docker-compose logs kafka
# Stop the environment
docker-compose downExpected Output:
Kafka development environment running with Zookeeper, Kafka broker, and Kafka UI for management.
Explanation:
This Docker Compose setup provides a complete Kafka development environment with management UI accessible at http://localhost:8080.
Course Navigation
1
Module 1: Introduction to Kafka2
Module 2: The Problem Statement3
Module 3: How Kafka Solves the Problem4
Module 4: Kafka Architecture (Deep Dive)5
Module 5: Consumer Groups in Kafka6
Module 6: Kafka Setup & Hands-On7
Module 7: Kafka with Python8
Module 8: Kafka Monitoring & Optimization9
Module 9: Final Project - Real-Time Analytics PlatformYour Progress
Examples Completed0/2