Cài đặt, cấu hình Zookeeper và Kafka trên Ubuntu 20.04 chi tiết
Hello tất cả anh chị em, đã lâu rồi mình chưa gặp nhau, à nhầm đã lâu rồi mình mới ra bài
Chào mừng đã tới hoặc quay trở lại với Series vén màn sự thật về Apache Kafka của mình.
Source: https://viblo.asia/p/cai-dat-cau-hinh-zookeeper-va-kafka-tren-ubuntu-2004-chi-tiet-018J259a4YK
Vẫn như mọi khi ace ngồi xuống và làm ly trà, không thì một ly nước cho tỉnh táo thư giãn để đi vào bài viết ngày hôm nay của mình nhé.
Let's go......
Bài hôm nay mình sẽ cài cắm cấu hình Kafka với Zookeeper trên Ubuntu 20.4 bài này mình trình bày để các ae mới tiếp cận với kafka hoặc linux đều có thể hiểu được nên các ae đừng ném đá nhé!
Phụ lục bài viết hôm nay bao gồm
- Một vài thông tin yêu cầu
- Tạo user
- Cài Java JDK (khuyến nghị từ Java 11 trở lên)
- Tải Apache Kafka tại https://kafka.apache.org/downloads.
- Cấu hình một vài thông tin cơ bản.
- Cấu hình systemd cho Zookeeper
- Cấu hình systemd cho Kafka.
- Testing
Link Youtube full HD ko che ở đây ae nhé 👉️👉️👉️ Link
1. Yêu cầu cấu hình máy cài kafka
- RAM 4GB
- 1 non-root user trên máy
2. Tạo user Kafka
Chạy lệnh
sudo adduser kafkasau đó nhập mật khẩu và thông tin của user kafka
Thêm user
kafkavừa tạo vào nhómsudosudo adduser kafka sudoLogin vào account
su -l kafka
3. Cài đặt Java JDK trên ubunto 20.04
Kiểm tra thông tin phiên bản Java JDK
java -version(nếu ae đã cài java thì màn hình có thể hiển thị thông tin như sau tùy theo phiên bản và có thể bỏ qua các bước phía dưới. )

Chưa cài đặt thì ae thấy output như sau:

chạy lệnh sau để tiến hành cài phiên bản 11 mặc định, sau khi chạy xong ae kiểm tra lại thông tin phiên bản như ở bước 2
sudo apt install default-jre
4. Tải Apache Kafka.
Tùy từng phiên bản khác nhau mà một số các cài đặt default của Kafka cũng khác nhau ví dụ như ACK mode Link mình download https://downloads.apache.org/kafka/3.3.2/kafka_2.12-3.3.2.tgz
Tạo 1 thư mục Download tại
/home/kafkamkdir ~/downloadTạo 1 thư mục kafka và giải nén file download
mkdir ~/download/kafka && cd ~/download/kafkaTải File cài đặt binaries kafka
curl https://downloads.apache.org/kafka/3.5.1/kafka_2.13-3.5.1.tgz -o ~/download/kafka/kafka.tgz
giải nén file
tar -xvf ~/download/kafka.tgz --strip 1
5. Cấu hình một số thông tin
Tạo 1 thư mục logs của kafka
mkdir ~/logsDùng lệnh
nanohoặcviđể cấu hình thư mục log củakafkabằng tham số configlog.dirstrong fileserver.propertiesDi chuyển tới thư mục config và chỉnh sửa
cd /home/kafka/download/kafka/config vi server.properties
6. Cài đặt Service Systemd cho Zookeeper
Như các bài trước ae đã có thông tin Kafka sử dụng zookeper để quản lý trạng thái cluster.
Tạo file systemd cho Zookeeper
sudo vi /etc/systemd/system/zookeeper.serviceNội dung file sẽ như sau :
[UNIT] Requires=network.target remote-fs.target After=network.target remote-fs.target [Service] Type=simple User=kafka ExecStart=/home/kafka/download/kafka/bin/zookeeper-server-start.sh /home/kafka/download/kafka/config/zookeeper.properties ExecStop=/home/kafka/download/kafka/bin/zookeeper-server-stop.sh Restart=on-abnormal [Install] WantedBy=multi-user.target
Start Zookeeper
systemctl start zookeeper.service
Kiểm tra kết quả + trạng thái service 😁
systemctl status zookeeper.service
Trạng thái service sẽ như sau:

7. Cài đặt Service Systemd cho kafka
Tiếp theo là tạo file systemd service cho kafka, giờ mới tới nhân vật chính 😅
vẫn là lệnh cũ
sudo vi /etc/systemd/system/kafka.serviceNội dung sẽ như sau:
[Unit] Requires=zookeeper.service After=zookeeper.service [Service] Type=Simple User=kafka ExecStart=/home/kafka/download/kafka/bin/kafka-server-start.sh /home/kafka/download/kafka/config/server.properties ExecStop=/home/kafka/download/kafka/bin/kafka-server-stop.sh [Install] WantedBy=multi-user.target systemctl start kafka.servicekết quả + trạng thái service 😁
systemctl status kafka.serviceTrạng thái service sẽ như sau:

Tới đây thì đã hoàn thành việc cài đặt: mặc đinh thì Zookeper chạy ở port 2181 và Kafka chạy ở port 9092
8. Testing
Trong bài viết này mình chưa dùng tới code để test sẽ dùng tạm command để testing
Để thuận tiện mình sẽ add
bincủakafkavào biến môi trườngvi ~/.bashrcthêm thông tin biến vào cuối file
# add path varible export PATH=$PATH:/home/kafka/download/kafka/binChạy lệnh để reload lại file cấu hình
source ~/.bashrcChạy lệnh tạo topic
kafka-topics.sh --create --topic start-events --bootstrap-server localhost:9092

Chạy lệnh để có thể bắn 1 event message lên kafka
kafka-console-producer.sh --topic start-events --bootstrap-server localhost:9092

Chạy lệnh để consume 1 message từ kafka
kafka-console-consumer.sh --topic start-events --from-beginning --bootstrap-server localhost:9092

Vậy là mình đã hoàn tất công việc cài 1 máy bao gồm kafka server và zookeeper server Mình xin phép kết thúc bài này tại đây
Xin cảm ơn mọi người đã đọc bài viết cùng đón chờ nhiều các bài viết tiếp theo của mình nhé (Kafka là 1 công cụ làm được rất nhiều việc và hay ho)!!!!