在Debian系统上配置Apache Kafka时,掌握一些技巧可以帮助你更好地运行和管理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/server.properties
文件,配置以下参数:
通用配置(所有节点相同):
process.roles = broker,controller
listeners = PLAINTEXT://:9092,CONTROLLER://:9093
inter.broker.listener.name = PLAINTEXT
controller.listener.names = PLAINTEXT
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/server.properties
./bin/kafka-server-start.sh -daemon /opt/kafka/config/server.properties
jps -l | grep Kafka
num.partitions
和 default.replication.factor
确保分区和副本合理。./bin/kafka-metadata-shell.sh --snapshot /data/kafka/logs/__cluster_metadata-0/00000000000000000000.
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集群。