从零搭建 Kafka 集群

适用场景

搭建 3 节点以上的 Kafka 集群,用于事件流、日志管道或数据集成。生产环境建议独立磁盘、监控和副本因子 3。

前置条件

步骤

  1. 安装 Kafka 并规划目录:
tar -xzf kafka_2.13-3.7.0.tgz -C /opt
mkdir -p /data/kafka
  1. 配置 KRaft(推荐新集群):
process.roles=broker,controller
node.id=1
controller.quorum.voters=1@kafka1:9093,2@kafka2:9093,3@kafka3:9093
listeners=PLAINTEXT://0.0.0.0:9092,CONTROLLER://0.0.0.0:9093
advertised.listeners=PLAINTEXT://kafka1:9092
log.dirs=/data/kafka
  1. 格式化存储并启动:
kafka-storage.sh random-uuid
kafka-storage.sh format -t <uuid> -c config/kraft/server.properties
kafka-server-start.sh -daemon config/kraft/server.properties
  1. 创建主题:
kafka-topics --bootstrap-server kafka1:9092 \
  --create --topic app-events --partitions 6 --replication-factor 3
  1. 验证集群:
kafka-topics --bootstrap-server kafka1:9092 --describe
kcat -b kafka1:9092 -t app-events -P <<< '{"id":1}'
kcat -b kafka1:9092 -t app-events -C -o beginning -c 1
  1. 配置监控(JMX exporter)、告警、备份和容量规划。

验证

回滚/重建

常见坑

相关命令