温馨提示×

Debian下Kafka配置需要注意哪些细节

小樊
78
2025-04-15 08:33:01
栏目: 智能运维

在Debian下配置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/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  # 默认副本数(确保高可用)
      
  1. 初始化集群元数据(仅首次执行):
cd /opt/kafka
bin/kafka-storage.sh format -t $(bin/kafka-storage.sh random-uuid) -c config/kraft/server.properties
  1. 启动所有节点
/opt/kafka/bin/kafka-server-start.sh -daemon /opt/kafka/config/kraft/server.properties
  1. 验证进程
jps -l | grep Kafka

关键参数说明

  • auto.create.topics.enable=true:允许客户端自动创建Topic,需配合num.partitionsdefault.replication.factor确保分区和副本合理。

验证集群状态

  1. 检查集群元数据
bin/kafka-metadata-shell.sh --snapshot /data/kafka/logs/__cluster_metadata-0/00000000000000000000.log
  1. 测试Topic自动创建
  • 生产一条消息触发自动创建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