在Debian上高效部署Kafka需要考慮多個方面,包括安裝前的環境準備、安裝步驟、配置以及優化等。以下是一個詳細的指南:
安裝Java環境:
Kafka是用Java編寫的,因此需要先安裝Java運行環境。
sudo apt update
sudo apt install openjdk-11-jdk
java -version
安裝Zookeeper(如果使用 Kraft模式可跳過):
在Kafka 2.8.0及以后的版本中,可以使用Kraft模式,減少對Zookeeper的依賴。
wget https://downloads.apache.org/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz
tar -xzf apache-zookeeper-3.7.0-bin.tar.gz
sudo mv apache-zookeeper-3.7.0 /opt/zookeeper
配置Zookeeper:
編輯/opt/zookeeper/conf/zoo.cfg
文件,設置數據目錄和客戶端端口等。
dataDir=/var/lib/zookeeper
clientPort=2181
配置防火墻:
允許Zookeeper使用的端口通過防火墻。
sudo ufw allow 2181/tcp
sudo ufw allow 2888/tcp
sudo ufw allow 3888/tcp
sudo ufw reload
下載Kafka:
從Apache 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:
編輯Kafka的配置文件/opt/kafka/config/server.properties
,設置 broker ID、listeners、advertised.listeners 等。
broker.id=0
listeners=PLAINTEXT://:9092
advertised.listeners=PLAINTEXT://your.kafka.server.ip:9092
啟動Zookeeper:
/opt/zookeeper/bin/zkServer.sh start
啟動Kafka Broker:
/opt/kafka/bin/zookeeper-server-start.sh /opt/kafka/config/zookeeper.properties
/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties
如果需要部署Kafka集群,可以在多臺服務器上重復上述步驟,并確保每臺服務器的server.properties
配置文件中的broker.id
和listeners
等設置不同。