在Debian系統下搭建Kafka集群時,有幾個關鍵的注意事項需要考慮。以下是一些主要的配置項及其說明:
首先,確保你的Debian系統上已經安裝了Java和Zookeeper,因為Kafka依賴于它們。
# 安裝Java
sudo apt update
sudo apt install openjdk-8-jdk
# 驗證Java安裝
java -version
# 安裝Zookeeper
wget http://archive.apache.org/dist/zookeeper/stable/zookeeper-3.6.1.tar.gz
tar -zxvf zookeeper-3.6.1.tar.gz
cd zookeeper-3.6.1
# 修改配置文件zoo.cfg以啟用集群模式
cp conf/zoo_sample.cfg conf/zoo.cfg
# 在zoo.cfg文件末尾添加:
server.1=zookeeper1:2888:3888
server.2=zookeeper2:2888:3888
server.3=zookeeper3:2888:3888
# 啟動Zookeeper
bin/zookeeper-server-start.sh config/zoo.cfg
解壓Kafka安裝包并進入配置目錄。
# 下載Kafka安裝包
wget https://downloads.apache.org/kafka/3.5.2/kafka_2.12-3.5.2.tgz
tar -xzf kafka_2.12-3.5.2.tgz
cd kafka_2.12-3.5.2
# 配置Kafka環境變量
echo "export KAFKA_HOME=/opt/kafka" >> /etc/profile
echo "export PATH=$PATH:$KAFKA_HOME/bin" >> /etc/profile
source /etc/profile
# 編輯Kafka的配置文件server.properties
broker.id=0
listeners=PLAINTEXT://:9092
log.dirs=/tmp/kafka-logs
zookeeper.connect=localhost:2181
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
log.flush.interval.messages=10000
log.flush.interval.ms=1000
log.retention.hours=168
log.retention.bytes=1073741824
message.max.bytes=10485760
使用以下命令啟動Zookeeper和Kafka服務。
# 啟動Zookeeper
/opt/zookeeper/bin/zkServer.sh start
# 啟動Kafka
/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是否正常運行。
# 創建一個測試主題
/opt/kafka/bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 3 --partitions 3 --topic test
# 列出所有主題
/opt/kafka/bin/kafka-topics.sh --list --zookeeper localhost:2181
# 查看主題詳情
/opt/kafka/bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic test
/etc/hosts
文件中配置了正確的IP地址和主機名映射。以上步驟和注意事項應該可以幫助你在Debian系統上成功搭建和配置Kafka集群。如果在執行過程中遇到問題,請檢查網絡配置、防火墻設置以及各個節點的配置文件是否正確,并參考Kafka和Zookeeper的官方文檔。