ใช้งาน Apache Kafka ฉบับเร่งรัด

บทความนี้เราจะมาลองใช้งาน Apache Kafka ฉบับสายย่อ ย่อแล้วย่ออีก แบบ Step by step บน OS Windown

Apache Kafka คืออะไร
Apache Kafka คือ distributed message queue เป็น open sourced สามารถลองรับรองรับข้อมูลความเร็วสูงในปริมาณมาก นิยมเอามาใช้ในการเก็บข้อมูล

Topic คือหมวดหมู่ หรือ Group

Partitions คือข้อมูลในแต่ละ Topic

Producers ทำหน้าที่ส่งข้อมูลให้กับ topics

Consumers ทำหน้าที่ดึงข้อมูลจาก topics

Zookeeper ทำหน้าที่จัดการทุกอย่างในการ Write/Read ข้อมูลจากเจ้า Kafka บอกสถานะทุกอย่างเป็นเหมือนคนดูแลข้อมูลของ Kafka

ขั้นตอนการเตรียม Resource และ Config

หรือถ้าอยาก Install Apache kafka on Docker คลิกที่นี่

  1. download apache kafka ได้ที่ https://kafka.apache.org/downloads จะมีหลาย version ให้เลือกเราจะเลือกใช้ version 2.7.0 ซึ่งเป็น version ล่าสุดตอนนี้
  2. UnZip file ที่ดาวโหลดน์มาเราได้ชื่อ folders เป็น kafka_2.13–2.7.0 แล้วเอา folders kafka_2.13–2.7.0 ไปวางที่ไหนอันนี้ตามใจเราได้เลย สำหรับตัวอย่างนี้เราจะเอา folders kafka_2.13–2.7.0 ไปวางได้ที่ไดร์ C:\kafka_2.13–2.7.0
  3. เปลี่ยน log.dirs ใน C:\kafka_2.13–2.7.0\config\server.properties ดังตัวอย่างต่อไปนี้
log.dirs=C:/kafka_2.13-2.7.0/kafka-log

4. สร้าง folders C:\kafka_2.13–2.7.0\kafka-log

5. เปลี่ยน dataDir ใน C:\kafka_2.13–2.7.0\config\zookeeper.properties ดังตัวอย่างต่อไปนี้

dataDir=C:/kafka_2.13-2.7.0/zookeeper-data

6. สร้าง folder C:\kafka_2.13–2.7.0\zookeeper-data

ขั้นตอนการใช้งาน

  1. Start server Zookeeper จะเปิด port 2181 (TCP)
    เปิด Command Prompt ใช้คำสั่งตาม command ด้านล่าง
$cd C:\kafka_2.13-2.7.0
$.\bin\windows\zookeeper-server-start.bat .\config\zookeeper.properties

2. Start server Kafka จะเปิด port 9092 (TCP)
เปิด Command Prompt ใช้คำสั่งตาม command ด้านล่าง

$cd C:\kafka_2.13-2.7.0
$.\bin\windows\kafka-server-start.bat config\server.properties

3. สร้าง Topic
เปิด Command Prompt ใช้คำสั่งตาม command ด้านล่าง

$cd C:\kafka_2.13-2.7.0
$.\bin\windows\kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic <TopicName> Created topic <TopicName>
รูปภาพตัวอย่างการสร้าง Topic(ลองสร้างสัก 2 topic)

4. ดูว่ามี Topic อะไรบ้างใน server kafka บ้าง

$.\bin\windows\kafka-topics.bat --list --zookeeper localhost:2181
รูปภาพตัวอย่างการแสดง Topic ทั้งหมด

5. ใช้งาน producer เพื่อเพิ่ม Partitions ในแต่ล่ะ Topic

$.\bin\windows\kafka-console-producer.bat --broker-list localhost:9092 --topic <TopicName>
รูปภาพตัวอย่างการเพิ่ม Partitions ของแต่ละ Topic

6. ใช้งาน consumer เพื่อดู Partitions ในแต่ละ Topic

$.\bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --from-beginning --topic <TopicName>
รูปภาพตัวอย่างการเรียกดูข้อมูล Partitions ของแต่ละ Topic

7. delete Topic

$.\bin\kafka-topics.sh --zookeeper localhost:2181 --delete --topic <TopicName>

8. Count Topic เพื่อดู total Partitions ในแต่ล่ะ Topic

$.\bin\windows\kafka-run-class.bat kafka.tools.GetOffsetShell --broker-list localhost:9092 --topic <TopicName> --time -1 --offsets 1
รูปภาพตัวอย่างการ Count Partitions ในแต่ Topic

*** NOTE ***
<TopicName> คือชื่อของ Topic ที่เราสามารถตั้งชื่อเองได้

--

--

No responses yet