Cài đặt, chạy Apache Kafka, Apache Zookeeper trên windows
Trong bài này mình sẽ thực hiện cài đặt zookeeper và apache kafka sau đó tạo topics, producer và consumer để demo.
(Xem thêm: Code ví dụ Java Kafka consumer)
(Xem thêm: Code ví dụ Java Kafka producer)
Yêu cầu:
Máy bạn đã cài đặt và thiết lập biến môi trường Java (JRE/JDK)
(Xem lại: Cài đặt và thiết lập biến môi trường cho Java)
Cài đặt Apache Kafka và Apache Zookeeper
Download Zookeeper tại đây: zookeeper-3.4.12.tar.gz | http://zookeeper.apache.org/releases.html#download
Download Kafka tại đây: kafka_2.12-1.1.0.tgz | http://kafka.apache.org/downloads.html
1. Cài đặt Zookeeper
(Xem lại: Zookeeper là gì?)
B1: Giải nén file zookeper tải về, ở đây mình giải nén ra thư mục C:\app\zookeeper-3.4.12
B2: Đổi tên file zoo_sample.cfg trong thư mục conf thành zoo.cfg (zookeeper sẽ sử dụng file zoo.cfg để config)
B3: Mở file zoo.cfg (có thể mở bằng notepad hoặc notepadd++) và sửa dataDir=/tmp/zookeeper thành dataDir=zookeeper-3.4.12/data
B4: Tạo biến môi trường cho zookeeper với
- System variable name = ZOOKEEPER_HOME; System variable value = C:\app\zookeeper-3.4.12
- Thêm %ZOOKEEPER_HOME%\bin vào Path System Variable
B5. Start zookeeper bằng cách mở màn hình cmd và gõ zkserver
Kết quả: (Port mặc định của zookeeper là 2181, bạn có thể đổi nó trong file zoo.cfg)
Cài đặt, chạy Apache Kafka, Apache Zookeeper trên windows stackjava.com
2. Cài đặt Apache Kafka
B1. Download và giải nén kafka, ở đây mình giải nén ra thư mục: C:\app\kafka_2.12-1.1.0
B2: Mở file “server.properties” trong thư mục config và sửa “log.dirs=/tmp/kafka-logs” thành “log.dirs=C:/app/kafka_2.12-1.1.0/kafka-logs”.
Sửa”zookeeper.connect=localhost:2181” thành địa chỉ mà server zookeeper chạy. Ở đây mình chạy trên local và dùng port mặc định cho zookeeper là 2181 nên mình giữ nguyên.
B3: Start apache kafka (phải start zookeeper trước đó). Port mặc định của kafka là 9092.
Mở màn hình cmd:
- Di chuyển tới thư mục kafka bằng cách gõ “cd C:\app\kafka_2.12-1.1.0” và enter
- Start kafka server bằng cách chạy lệnh “.\bin\windows\kafka-server-start.bat .\config\server.properties”
3. Tạo Topic
Ví dụ tạo topic với name = “test” (Phải chạy kafka server trước đó). Mở màn hình cmd và chạy các lệnh:
- cd C:\app\kafka_2.12-1.1.0\bin\windows
- kafka-topics.bat –create –zookeeper localhost:2181 –replication-factor 1 –partitions 1 –topic test
- /bin/kafka-topics.bat –create \
- –zookeeper <hostname>:<port> \
- –topic <topic-name> \
- –partitions <number-of-partitions> \
- –replication-factor <number-of-replicating-servers>
4. Tạo Producer và Consumer thực hiện trao đổi thông qua topic test
Tạo Producer: mở màn hình cmd mới và gõ lệnh:
- cd C:\app\kafka_2.12-1.1.0\bin\windows
- kafka-console-producer.bat –broker-list localhost:9092 –topic test
Tạo Consumer: mở màn hình cmd mới và gõ lệnh:
- cd C:\app\kafka_2.12-1.1.0\bin\windows
- kafka-console-consumer.bat –zookeeper localhost:2181 –topic test
Kết quả: trên màn hình cmd của producer gõ bất kì message gì thì màn hình cmd consumer đều nhận được
Một số lệnh kafka hay dùng khác:
(Trên windows các file kafka-topics.bat, kafka-console-consumer.bat… sẽ nằm trong folder bin/windows; còn trên linux sẽ là các file .sh ở folder bin)
- Liệt kê tất cả các topic: kafka-topics.bat –list –zookeeper localhost:2181
- Hiện chi tiết 1 topic: kafka-topics.bat –describe –zookeeper localhost:2181 –topic [Topic Name]
- Đọc tất cả các message của một topic: kafka-console-consumer.bat –zookeeper localhost:2181 –topic [Topic Name] –from-beginning
- Xóa một topic: kafka-run-class.bat kafka.admin.TopicCommand –delete –topic [topic_to_delete] –zookeeper localhost:2181
Cài đặt, chạy Apache Kafka, Apache Zookeeper trên windows stackjava.com
Okay, Done!
References: