在Debian系統上安裝和配置Apache Kafka涉及多個步驟,包括安裝必要的軟件、配置網絡、啟動Kafka服務器和Zookeeper,以及創建和測試Topic。以下是詳細的步驟指南:
首先,確保你的Debian系統上已經安裝了Java和Zookeeper,因為Kafka依賴于它們。
# 安裝Java
sudo apt update
sudo apt install openjdk-11-jdk -y
# 驗證Java安裝
java -version
# 安裝Zookeeper
sudo apt install zookeeperd -y
從Apache Kafka官方網站下載最新版本的Kafka,然后解壓到指定目錄。
# 下載Kafka
wget https://downloads.apache.org/kafka/3.5.2/kafka_2.12-3.5.2.tgz
# 解壓Kafka
tar -xzf kafka_2.12-3.5.2.tgz
sudo mv kafka_2.12-3.5.2 /opt/kafka
為了方便使用Kafka命令,需要將其添加到系統的環境變量中。
# 編輯 /etc/profile 文件
echo 'export KAFKA_HOME=/opt/kafka' >> /etc/profile
echo 'export PATH=$PATH:$KAFKA_HOME/bin' >> /etc/profile
# 使配置生效
source /etc/profile
進入Kafka的bin目錄,啟動Zookeeper服務。
cd /opt/kafka/bin
./zookeeper-server-start.sh config/zookeeper.properties
同樣在Kafka的bin目錄下,啟動Kafka Broker服務。需要編輯config/server.properties
文件來配置Broker的屬性,例如監聽地址、日志目錄等。
# 編輯 server.properties 文件
sudo nano /opt/kafka/config/server.properties
# 修改以下配置項
listeners PLAINTEXT://:9092
log.dirs /var/log/kafka
zookeeper.connect localhost:2181
創建一個systemd服務單元文件,以便在服務器上將Kafka作為服務運行。
# 創建Kafka服務單元文件
sudo nano /etc/systemd/system/kafka.service
# 添加以下內容
[Unit]
Description=Apache Kafka Server
After=network.target zookeeper.target
[Service]
Type=simple
User=kafka
Group=kafka
WorkingDirectory=/opt/kafka
ExecStart=/opt/kafka/bin/zookeeper-server-start.sh /opt/kafka/config/zookeeper.properties
ExecStart=/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties
Restart=always
[Install]
WantedBy=multi-user.target
# 重新加載systemd配置并啟動Kafka服務
sudo systemctl daemon-reload
sudo systemctl start kafka
sudo systemctl enable kafka
使用以下命令檢查Kafka和Zookeeper服務是否分別在端口9092和2181上偵聽。
# 檢查Kafka服務狀態
sudo systemctl status kafka
# 檢查Zookeeper服務狀態
sudo systemctl status zookeeper
# 使用 netstat 或 ss 命令檢查端口是否在監聽
netstat -tuln | grep 9092
netstat -tuln | grep 2181
根據你的網絡需求,可能需要進行額外的網絡配置。例如,設置靜態IP地址或配置DNS??梢詤⒖糄ebian的網絡配置文檔或使用netplan(如果適用)。
# 使用 netplan 配置網絡(適用于Debian 12及以上版本)
sudo nano /etc/netplan/01-netcfg.yaml
# 添加或修改以下內容
network:
version: 2
renderer: networkd
ethernets:
ens4:
dhcp4: no
addresses: [192.168.200.251/24]
gateway4: 192.168.200.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
# 應用配置
sudo netplan apply
通過以上步驟,你應該能夠在Debian系統上成功安裝并運行Apache Kafka。