Để tạo service Kafka trên Linux, bạn cần thực hiện các bước sau:
- Tạo user Kafka
Để đảm bảo an toàn cho hệ thống, bạn nên cho ứng dụng Kafka chạy dưới một user riêng. Để tạo user Kafka, bạn thực hiện như sau:
sudo useradd -m -d /home/kafka -s /bin/bash kafka
- Tải Kafka
Tải Kafka binaries từ trang web chính thức của Kafka. Bạn có thể tải Kafka binaries theo phiên bản Java mà bạn đã cài đặt.
wget https://downloads.apache.org/kafka/3.2.1/kafka_2.13-3.2.1.tgz
- Giải nén Kafka binaries
Giải nén Kafka binaries bằng lệnh sau:
tar -xzf kafka_2.13-3.2.1.tgz
- Cấu hình Kafka Server
Cấu hình Kafka Server bằng cách chỉnh sửa file server.properties
trong thư mục /opt/kafka/config
.
sudo vim /opt/kafka/config/server.properties
Trong file server.properties
, bạn cần chỉnh sửa các thông tin sau:
broker.id
: ID của broker Kafka.listeners
: Cấu hình các listener của broker Kafka.log.dirs
: Thư mục lưu trữ nhật ký của broker Kafka.zookeeper.connect
: Địa chỉ của ZooKeeper.
Ví dụ, cấu hình Kafka Server như sau:
broker.id=1
listeners=PLAINTEXT://localhost:9092
log.dirs=/opt/kafka/logs
zookeeper.connect=localhost:2181
- Tạo Systemd Unit file
Tạo Systemd Unit file để tự động khởi động Kafka Server khi khởi động hệ thống.
sudo vim /etc/systemd/system/kafka.service
Trong file kafka.service
, bạn dán nội dung sau:
[Unit]
Description=Apache Kafka
After=network.target [Service]
Type=simple
User=kafka
Group=kafka
ExecStart=/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties
ExecStop=/opt/kafka/bin/kafka-server-stop.sh
Restart=on-failure [Install]
WantedBy=multi-user.target
- Khởi động Kafka Server
Khởi động Kafka Server bằng lệnh sau:
sudo systemctl start kafka
- Kiểm tra cài đặt
Kiểm tra cài đặt Kafka Server bằng lệnh sau:
sudo systemctl status kafka
Nếu Kafka Server được cài đặt thành công, bạn sẽ thấy kết quả như sau:
● kafka.service - Apache Kafka Loaded: loaded (/etc/systemd/system/kafka.service; enabled; vendor preset: disabled) Active: active (running) since Wed 2023-07-27 10:29:43 UTC; 1min 28s ago Main PID: 29999 (kafka) Tasks: 14 (limit: 1152) Memory: 414.7M CPU: 1.394s CGroup: /system.slice/kafka.service └─29999 /opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties Jul 27 10:29:43 localhost.localdomain systemd[1]: Starting Apache Kafka...
Jul 27 10:29:43 localhost.localdomain kafka[29999]: Kafka version: 3.2.1
Jul 27 10:29:43 localhost.localdomain kafka[29999]: Kafka commitId: 7d02b417a9157515
Jul 27 10:29:43 localhost.localdomain kafka[29999]: Kafka started
Như vậy, bạn đã tạo thành công service Kafka trên Linux.