STACKJAVA

Cài đặt, chạy Apache Kafka, Apache Zookeeper trên windows

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.tgzhttp://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

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:

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:

/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:

Tạo Consumer: mở màn hình cmd mới và gõ lệnh:

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)

Cài đặt, chạy Apache Kafka, Apache Zookeeper trên windows stackjava.com

Okay, Done!

 

References:

http://kafka.apache.org/

http://zookeeper.apache.org/