温馨提示×

Debian系统Kafka配置有哪些技巧

小樊
74
2025-05-31 18:56:50
栏目: 智能运维

在Debian系统上配置Apache Kafka时,掌握一些技巧可以帮助你更好地运行和管理Kafka集群。以下是一些建议和注意事项:

环境要求

  • 确保使用Ubuntu 20.04或更高版本。
  • 开放端口:9092(客户端通信)、9093(KRaft控制器通信)。
  • 磁盘空间:根据业务需求分配,建议为 /data/kafka 目录分配空间。
  • 依赖环境:Java 11(推荐使用OpenJDK 11)。

安装步骤

  1. 安装Java
sudo apt update
sudo apt install openjdk-11-jdk -y
  1. 下载并解压Kafka
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
  1. 配置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 # 默认副本数(确保高可用)
      
  1. 初始化集群元数据(仅首次执行):
cd /opt/kafka
./bin/kafka-storage.sh format -t $(bin/kafka-storage.sh random-uuid) -c config/server.properties
  1. 启动所有节点
./bin/kafka-server-start.sh -daemon /opt/kafka/config/server.properties
  1. 验证进程
jps -l | grep Kafka

关键参数说明

  • auto.create.topics.enable:允许客户端自动创建Topic,需配合 num.partitionsdefault.replication.factor 确保分区和副本合理。
  • num.partitions:默认分区数,建议与节点数一致。
  • default.replication.factor:默认副本数,确保高可用。

验证集群状态

  • 检查集群元数据
./bin/kafka-metadata-shell.sh --snapshot /data/kafka/logs/__cluster_metadata-0/00000000000000000000.
  • 测试Topic自动创建
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
  • 查看Topic分区分布
./bin/kafka-topics.sh --bootstrap-server 10.0.0.1:9092 --describe --topic auto-created-topic

以上是在Debian下配置Kafka时需要注意的一些细节,确保配置正确可以帮助你更好地运行和管理Kafka集群。

0