Cài đặt, cấu hình Apache Kafka, Apache Zookeeper trên Ubuntu
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.
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 trên Ubuntu)
Bước 1: Download và giải nén Kafka Binaries
Download và giải nén Kafka Binaries:
Trong bài viết này mình sẽ cài đặt kafka vào folder /opt/kafka
do đó mình sẽ tạo folder /opt/kafka
trước
sudo mkdir /opt/kafka
Tải file Kafka binary và lưu ở /Downloads/kafka.tgz
(bản kafka download từ apache này đã bao gồm cả apache zookeeper nên ta không cần download zookeeper nữa)
(download các version kafka khác tại đây: https://kafka.apache.org/downloads)
curl "https://mirror.downloadvn.com/apache/kafka/2.8.0/kafka_2.12-2.8.0.tgz" -o ~/Downloads/kafka.tgz
Giải nén file kafka.tgz
vừa download vào folder /opt/kafka
sudo tar -xvzf ~/Downloads/kafka.tgz -C /opt/kafka
Kết quả:
Bước 1: Chạy Zookeeper và Kafa
(mặc đinh zookeeper chạy trên port 2181, kafka chạy trên port 9092)
Để chạy zookeeper và kafa ta cd tới folder vừa cài đặt kafka ở bên trên cd /opt/kafka/kafka_2.11-2.1.1
Chạy Zookeeper:
Mở cửa sổ terminal mới và nhập câu lệnh:
cd /opt/kafka/kafka_2.11-2.1.1 bin/zookeeper-server-start.sh config/zookeeper.properties
Kết quả:
Chạy kafka:
Mở cửa sổ terminal mới và nhập câu lệnh:
cd /opt/kafka/kafka_2.11-2.1.1 bin/kafka-server-start.sh config/server.properties
Tạo topic test
Mở cửa sổ terminal mới và nhập câu lệnh:
cd /opt/kafka/kafka_2.11-2.1.1 bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
Liệt kê tất cả topic:
bin/kafka-topics.sh --list --zookeeper localhost:2181
Tạo producer để publish (gửi) message tới topic test:
Mở cửa sổ terminal mới và nhập câu lệnh:
cd /opt/kafka/kafka_2.11-2.1.1 bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
Tạo consumer để subscribe (lắng nghe) message từ topic test:
Demo:
Tạo các file .sh để chạy zooker, kafka
Mình tạo folder utils và các file .sh để start zookeeper, kafka, tạo topic, tạo producer, tạo consumer nhanh hơn:
cd /opt/kafka/kafka_2.11-2.1.1 bin/zookeeper-server-start.sh config/zookeeper.properties
cd /opt/kafka/kafka_2.11-2.1.1 bin/kafka-server-start.sh config/server.properties
cd /opt/kafka/kafka_2.11-2.1.1 bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic $1
cd /opt/kafka/kafka_2.11-2.1.1 bin/kafka-console-producer.sh --broker-list localhost:9092 --topic $1
cd /opt/kafka/kafka_2.11-2.1.1 bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic $1
Bây giờ ta khi muốn start zookeeper, kafka ta chỉ cần mở cửa sổ terminal mới và chạy utils/zookeeper_start.sh
, utils/kafka_start.sh
Tạo producer tới topic test thì mở cửa sổ terminal mới và chạy utils/producer.sh test
Tạo consumer tới topick thì mở cửa sổ terminal và chạy utils/consumer.sh test
Cấu hình kafka, zookeeper
Cấu hình kafka, zookeeper (log, port…) trên Ubuntu tương tự như trên windows (Xem lại: Cấu hình Kafka, Zookeeper trên Windows)
Stackjava.com Cài đặt, cấu hình Apache Kafka, Apache Zookeeper trên Ubuntu
Okay, Done!
References: