Cài đặt, cấu hình Apache Kafka, Apache Zookeeper trên Ubuntu

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

Cài đặt, cấu hình Apache Kafka, Apache Zookeeper trên Ubuntu

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 Zookeeper trên ubuntu

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

chạy kafka trên ubuntu

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 topic trên kafka ubuntu

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:

demo producer, consumer kafka trên ubuntu

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:

http://kafka.apache.org/

http://zookeeper.apache.org/

stackjava.com