在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集群。