Việc cài đặt Kafka tương đối đơn giản. Bạn chỉ cần vào trang web của Kafka rồi tiến hành download phiên bản mới nhất của Kafka (phiên bản mới nhất tính tới thời điểm của bài viết này (12/11/2018) là 2.0.1).
Sau khi download xong bạn tiến hành giải nén vào một thư mục bất kỳ rồi thiết lập biến KAFKA_HOME và thêm thư mục bin của Kafka vào Path tương tự như trong phần cài đặt Spark .
Để kiểm tra xem việc cài đặt thiết lập môi trường cho Kafka đã hoàn tất hay chưa, ta thử chạy môt chương chình nhỏ sau. Lưu ý, đối với hệ điều hành windows ta dùng các file trong mục bin/windows còn với hệ điều hành linux ta dùng các file trong mục bin. Trong phần này, chúng ta sẽ chạy thử chương trình trên hệ điều hành Windows. Để chạy trên hệ điều hành khác, các bạn có thể tham khảo tại link sau.
1. Chạy server
Do Kafka sử dụng ZooKeeper nên trước hết ta phải khởi chạy một Zookeeper server bằng lệnh sau:
1 |
%KAFKA_HOME%\bin\windows\zookeeper-server-start.bat %KAFKA_HOME%\config\zookeeper.properties |
Như vậy khi Zookeeper khởi chạy, nó sẽ có cổng mặc định là 2181. Tiếp theo ta mở một cửa sổ command khác và khởi chạy Kafka server bằng lệnh sau:
1 |
%KAFKA_HOME%\bin\windows\kafka-server-start.bat %KAFKA_HOME%\config\server.properties |
Sau khi chạy lệnh trên, một broker (id=0) được tạo ra và có cổng mặc định là 9092.
2. Tạo một topic
Ta tiến hành tạo một topic thử nghiệm (tên testDemo) với 1 partition và 1 replica như sau:
1 |
%KAFKA_HOME%\bin\windows\kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic testDemo |
Đợi một lúc, sẽ có một dòng tin nhắn thông báo việc tạo topic đã thành công. Để kiểm tra danh sách các topic, ta có thể dùng lệnh sau:
1 |
%KAFKA_HOME%\bin\windows\kafka-topics.bat --list --zookeeper localhost:2181 |
Ngoài ra, để thay đổi thông số của một topic (số lượng partition, replica) ta có thể dùng lệnh alter như sau:
1 |
%KAFKA_HOME%\bin\windows\kafka-topics.bat --zookeeper localhost:2181 --alter --topic testDemo –partitions 2 |
Ta cũng có thể dùng lệnh delete để xóa một topic như sau:
1 |
%KAFKA_HOME%\bin\windows\kafka-topics.bat --zookeeper localhost:2181 --delete --topic test |
3. Kiểm tra việc truyền tin nhắn.
Trước hết ta chạy Producer và Consumer. Sau đó ta ta kiểm tra xem Consumer có nhận được tin nhắn từ Producer hay không bằng cách sau.
- Mở một cửa sổ Command và nhập lệnh sau để chạy Producer:
1%KAFKA_HOME%\bin\windows\kafka-console-producer.bat --broker-list localhost:9092 --topic testDemo
- Mở một cửa sổ Command khác và nhập lệnh sau để chạy Consumer:
1%KAFKA_HOME%\bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic testDemo --from-beginning
- Sau đó nhập một vài tin nhắn trong cửa sổ Producer và kiểm tra xem tin nhắn đó có hiện trên Consumer hay không. Nếu có, chứng tỏ việc cài đặt và thiết lập môi trường cho Kafka đã hoàn tất.
Việc chạy Kafka trên các hệ điều hành khác cũng tương tự như các bước ở trên. Các bạn có thể tham khảo code tổng hợp cho việc chạy Kafka trên Linux dưới đây.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
//Start Zookeeper server bin/zookeeper-server-start.sh config/zookeeper.properties //Start Kafka server bin/kafka-server-start.sh config/server.properties //Create a topic bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test //List all topics bin/kafka-topics.sh --list --zookeeper localhost:2181 //Send some messages bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test //Start a consumer bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning |