เริ่มต้นใช้งาน Kafka, Zookeeper และ Kafka UI ง่ายๆ ด้วย Docker Compose

Oct. 12, 2024 · boychawin

บทความนี้ผมจะพาไปตั้งค่าการใช้งานระบบ Kafka พร้อมกับ Zookeeper และ Kafka UI ผ่าน Docker Compose แบบง่ายๆ ที่ใครๆ ก็ทำตามได้

ขั้นตอนการใช้งาน Kafka และ Zookeeper พร้อม Kafka UI

  1. สร้างไฟล์ docker-compose.yml เริ่มต้นโดยการสร้างไฟล์ docker-compose.yml ซึ่งจะเป็นตัวกำหนด Service ที่เราต้องการใช้งาน ในที่นี้เราจะใช้ Kafka, Zookeeper และ Kafka UI โดยไฟล์จะมีหน้าตาดังนี้

version: '3.8'
name: my-app
services:
  zookeeper:
    image: bitnami/zookeeper:3.7-debian-11
    ports:
      - 2135:2181
    environment:
      - ALLOW_ANONYMOUS_LOGIN=yes

  kafka:
    image: bitnami/kafka:3.2-debian-11
    ports:
      - 9935:9092
    environment:
      - KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181
      - ALLOW_PLAINTEXT_LISTENER=yes
    depends_on:
      - zookeeper

  kafka-ui:
    image: provectuslabs/kafka-ui:latest
    ports:
      - 9035:8080
    environment:
      DYNAMIC_CONFIG_ENABLED: 'true'
      KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: kafka:9092
    depends_on:
      - zookeeper

  1. การตั้งค่า Service ต่างๆ
  • Zookeeper: เป็นส่วนที่ Kafka ใช้ในการจัดการข้อมูลกลุ่ม คลัสเตอร์ และประสานงานกับ Service อื่นๆ เรากำหนดให้ใช้พอร์ต 2135 และอนุญาตให้เข้าสู่ระบบแบบไม่ต้องล็อกอินด้วย ALLOW_ANONYMOUS_LOGIN=yes
  • Kafka: ใช้พอร์ต 9935 และเชื่อมต่อกับ Zookeeper ที่พอร์ต 2181 รวมถึงกำหนดให้สามารถรับข้อมูลได้แบบ plaintext โดยใช้ ALLOW_PLAINTEXT_LISTENER=yes
  • Kafka UI: UI ที่ช่วยให้เราสามารถจัดการและตรวจสอบ Kafka Cluster ได้ง่ายขึ้น เรากำหนดให้ใช้พอร์ต 9035 และเชื่อมต่อกับ Kafka
  1. การรัน Docker Compose เมื่อเราได้ไฟล์ docker-compose.yml

สามารถรันคำสั่งต่อไปนี้ในเทอร์มินัลเพื่อเริ่มต้นบริการทั้งหมด:


    docker-compose up

  • คำสั่งนี้จะดึงภาพ Docker จากรีโมตและเริ่มต้น Service ทั้งหมดตามที่กำหนดในไฟล์ Compose
  1. ตรวจสอบการทำงานของ Kafka และ Kafka UI
  • หลังจาก Service ทั้งหมดเริ่มต้นทำงานแล้ว เราสามารถเข้าถึง Kafka UI ผ่านเบราว์เซอร์ได้ที่ http://localhost:9035 เพื่อจัดการ Kafka Cluster ของเรา
  • Kafka UI จะช่วยให้เราสามารถตรวจสอบ topic, consumer groups และ messages ต่างๆ ได้สะดวกมากขึ้น

สรุป

บทความนี้เราได้เรียนรู้วิธีการติดตั้ง Kafka พร้อมกับ Zookeeper และ Kafka UI ผ่าน Docker Compose ซึ่งเป็นวิธีที่สะดวกและรวดเร็ว ไม่จำเป็นต้องติดตั้งหลายโปรแกรมหรือเซ็ตค่าให้ยุ่งยาก เพียงไม่กี่ขั้นตอนก็สามารถสร้าง Kafka Cluster พร้อมเครื่องมือจัดการ UI ได้เรียบร้อย