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.
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:
1 |
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:
1 |
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:
1 |
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:
1 |
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:
1 |
kafka-topics.sh --list --bootstrap-server <kafka_server> |
Ví dụ như sau:
1 |
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:
Xem tất cả các message trong một topic
Để xem tất cả các message đang có trong một topic của Apache Kafka, các bạn có thể sử dụng command sau:
1 |
kafka-console-consumer.sh --bootstrap-server <kafka_server> --topic <topic_name> --from-beginning |
Ví dụ như sau:
1 |
kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic huongdanjava --from-beginning |
Kết quả khi mình chạy command này như sau:
Hiện tại trong topic ví dụ của mình, không có message nào nhưng nếu có một message mới tới, nó sẽ hiển thị ở đây nhé các bạn!
Xoá một topic
Để xoá một topic trong Apache Kafka server, chúng ta sẽ sử dụng câu lệnh sau:
1 |
kafka-topics.sh --delete --topic <topic_name> --bootstrap-server <kafka_server> |
Ví dụ của mình như sau:
1 |
kafka-topics.sh --delete --topic huongdanjava --bootstrap-server localhost:9092 |
Kết quả: