Làm việc với Apache Kafka Topic sử dụng CLI

Bài viết được sự cho phép của tác giả Nguyễn Hữu Khanh

Sau khi cài đặt Apache Kafka, các bạn có thể sử dụng công cụ Apache Kafka CLI để làm việc với topic trong Apache Kafka server.

  Apache Kafka là gì?
  Cài đặt Apache Kafka sử dụng Docker Compose

Xem thêm việc làm AngularJS hấp dẫn trên TopDev

Tạo mới topic

Chúng ta sẽ sử dụng tập tin kafka-topics.sh của Apache Kafka CLI để làm việc với topic trong Apache Kafka server.

Để tạo mới một topic, các bạn có thể sử dụng câu lệnh với cú pháp như sau:

kafka-topics.sh --create --topic <topic_name> --bootstrap-server <kafka_server> --partitions <partition_number> --replication-factor <replication_number>

Trong đó:

  • topic_name là tên topic mà chúng ta cần tạo
  • kafka_server là địa chỉ Apache Kafka server với định dạng host:port
  • partition_number là số lượng partitions mà chúng ta cần tạo
  • replication_number là số lượng replicate mà chúng ta muốn cho mỗi partition. Giá trị của tham số này sẽ phụ thuộc vào số lượng Apache Kafka server mà chúng ta đang có các bạn nhé!

Ví dụ, mình chạy câu lệnh sau:

kafka-topics.sh --create --topic huongdanjava --bootstrap-server localhost:9092 --partitions 2 --replication-factor 1

Kết quả sẽ như sau:

Để kiểm tra topic mà chúng ta vừa tạo ở trên trong Apache Kafka server, các bạn có thể chạy câu lệnh sau:

kafka-topics.sh --describe --topic <topic_name> --bootstrap-server <kafka_server>

Ý nghĩa của các tham số như mình đã đề cập ở trên.
Ví dụ của mình như sau:

kafka-topics.sh --describe --topic huongdanjava --bootstrap-server localhost:9092

Kết quả:

Như các bạn thấy, topic huongdanjava của mình có 2 partitions và số lượng ReplicationFactor là 1 như câu lệnh mình đã chạy ở trên.

Xem tất cả các topic

Để kiểm tra tất cả các topic có trong một Apache Kafka server, các bạn có thể chạy câu lệnh sau:

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

Các bạn sẽ thấy topic mà chúng ta vừa tạo ở trên như sau:

Xoá một topic

Để xoá một topic trong Apache Kafka server, chúng ta sẽ sử dụng câu lệnh sau:

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

Ví dụ của mình như sau:

kafka-topics.sh --delete --topic huongdanjava --bootstrap-server localhost:9092

Kết quả:

Bài viết gốc được đăng tải tại huongdanjava.com