1. 概述
本文介紹 Linux 系統安裝 Kafka 後,設定開機自啟動的方法。
2. 操作步驟
2.1 準備工作
查看 jdk 路徑
whereis java
ls -lrt /usr/bin/java
定位 jdk 安裝路徑
ls -lrt /etc/alternatives/java

2.2 設定 Zookeeper 開機自啟服務
在 Linux 伺服器 /lib/systemd/system/ 目錄建立服務腳本 zookeeper.service
腳本如下圖所示:

程式碼範例:
注:其中一些路徑需要根據實際情況修改。
[Unit]
Description=Zookeeper service
After=network.target
[Service]
Type=simple
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/jvm/jdk-16.0.1/bin"
User=root
Group=root
ExecStart=/data/kafka_2.13-3.5.1/bin/zookeeper-server-start.sh /data/kafka_2.13-3.5.1/config/zookeeper.properties
ExecStop=/data/kafka_2.13-3.5.1/bin/zookeeper-server-stop.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target2.3 Kafka 開機自啟服務
在 Linux 伺服器 /lib/systemd/system/ 目錄建立服務腳本 kafka.service
腳本如下圖所示:

程式碼範例:
注:其中一些路徑需要根據實際情況修改。
[Unit]
Description=Apache Kafka server (broker)
After=network.target zookeeper.service
[Service]
Type=simple
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/jvm/jdk-16.0.1/bin"
User=root
Group=root
ExecStart=/data/kafka_2.13-3.5.1/bin/kafka-server-start.sh /data/kafka_2.13-3.5.1/config/server.properties
ExecStop=/data/kafka_2.13-3.5.1/bin/kafka-server-stop.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target
2.3 啟動服務
使用如下命令啟動服務。
重新整理配置(必須先執行)
systemctl daemon-reload
服務加入開機自啟
systemctl enable zookeeper.service
systemctl enable kafka.service
啟動 zookeeper 和 kafka
systemctl start zookeeper
systemctl start kafka
查看狀態
systemctl status zookeeper
systemctl status kafka
確認服務加入開機自啟動
systemctl is-enabled kafka
systemctl is-enabled zookeeper

