在Debian下配置Kafka時,需要注意以下幾個細節:
/data/kafka目錄分配空間。sudo apt update
sudo apt install openjdk-11-jdk -y
wget https://downloads.apache.org/kafka/3.6.1/kafka_2.13-3.6.1.tgz
tar -xzf kafka_2.13-3.6.1.tgz
mv kafka_2.13-3.6.1 /opt/kafka
編輯config/kraft/server.properties文件,配置以下參數:
通用配置(所有節點相同):
process.roles=broker,controller
listeners=PLAINTEXT://:9092,CONTROLLER://:9093
inter.broker.listener.name=PLAINTEXT
controller.listener.names=CONTROLLER
advertised.listeners=PLAINTEXT://<當前節點IP>:9092
節點特定配置(每個節點不同):
node.id=1 # 節點1設為1,節點2設為2,節點3設為3
controller.quorum.voters=1@10.0.0.1:9093,2@10.0.0.2:9093,3@10.0.0.3:9093
log.dirs=/data/kafka/logs
auto.create.topics.enable=true
num.partitions=3 # 默認分區數(建議與節點數一致)
default.replication.factor=3 # 默認副本數(確保高可用)
cd /opt/kafka
bin/kafka-storage.sh format -t $(bin/kafka-storage.sh random-uuid) -c config/kraft/server.properties
/opt/kafka/bin/kafka-server-start.sh -daemon /opt/kafka/config/kraft/server.properties
jps -l | grep Kafka
auto.create.topics.enable=true:允許客戶端自動創建Topic,需配合num.partitions和default.replication.factor確保分區和副本合理。bin/kafka-metadata-shell.sh --snapshot /data/kafka/logs/__cluster_metadata-0/00000000000000000000.log
echo "test-message" | bin/kafka-console-producer.sh --bootstrap-server 10.0.0.1:9092,10.0.0.2:9092,10.0.0.3:9092 --topic auto-created-topic
bin/kafka-topics.sh --bootstrap-server 10.0.0.1:9092 --describe --topic auto-created-topic
以上是在Debian下配置Kafka時需要注意的一些細節,確保配置正確可以幫助你更好地運行和管理Kafka集群。