Docker adalah salah satu mesin kontainer paling populer yang digunakan dalam industri perangkat lunak untuk membuat, mengemas, dan mendeploy aplikasi . Dalam tutorial ini, kita akan belajar bagaimana melakukan pengaturan Apache Kafka menggunakan Docker.

Single Node Setup

Ditahap awal ini yang perlu kita persiapkan adalah skenario single-node untuk kafka broker di environment lokal Anda.

a) Konfigurasi docker-compose.yml

Untuk menjalankan server apache kafka kita perlu terlebih dahulu menjalan server zookeeper. Kita dapat menaruh konfigurasi apache kafka dengan melalui docker-compose, melalui docker-compose kita bisa mengatur konfigurasi agar zookeeper selalu di mulai duluan sebelum kafka dijalankan.

Mari kita buat konfigurasi sederhana kafka dan zookeeper dalam docker-compose.yml

version: '2'
services:
  zookeeper:
    image: confluentinc/cp-zookeeper:latest
    environment:
      ZOOKEEPER_CLIENT_PORT: 2181
      ZOOKEEPER_TICK_TIME: 2000
    ports:
      - 22181: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

 

Dalam pengaturan ini, server Zookeeper melisten port  2181 untuk layanan kafka , yang ditentukan dalam pengaturan kontainer yang sama. Namun, untuk klien apa pun yang berjalan di host, itu akan diekspos di port 22181 .

Serupa dengan itu, layanan kafka diekspos ke aplikasi host melalui port 29092 , tetapi sebenarnya berada pada port 9092 dalam lingkungan kontainer yang dikonfigurasi oleh properti KAFKA_ADVERTISED_LISTENERS .

b) Memulai Server Kafka

Mari kita memulai server kafka dengan menjalanka container menggunakan perintah docker-compose :

install apache kafka
install apache kafka

Sekarang, mari kita gunakan perintah nc untuk memverifikasi bahwa kedua server dapat melisten di port masing-masing :

listening port kafka server
listening port kafka server

Selain itu, Anda juga dapat memeriksa log verbose saat kontainer dijalankan dan memverifikasi bahwa server Kafka sudah aktif:

kafka logs verbose
kafka logs verbose

Jika layar terminal anda menampilkan pesan diatas berarti apache kafka siap digunakan

c) Monitoring Kafka dengan Kafka Tool

Untuk memudahkan monitoring kafka Anda bisa mendowload Kafka Tool, instal dan konfigurasi sesuaikan dengan port zookeeper dan kakfa yang ada pada docker-compose. Jika berhasil akan seperti gambar dibawah ini :

konfigurasi kafka tools
konfigurasi kafka tools
monitoring kafka dengan kafka tool
monitoring kafka dengan kafka tool

Baca artikel lainya :