Kafka Broker 启动与运维
kafka-broker 是 Kafka 服务端进程,负责分区存储、副本复制和客户端请求。Kafka 4.0 起只支持 KRaft 模式,ZooKeeper 元数据模式已被移除;3.x 及更早版本仍可用 ZooKeeper。
kafka-server-start.sh config/server.properties
kafka-server-stop.sh
kafka-topics --bootstrap-server broker:9092 --describe
kafka-configs --bootstrap-server broker:9092 --entity-type brokers --entity-name 1 --describe
kafka-log-dirs --bootstrap-server broker:9092 --describe
kafka-reassign-partitions --bootstrap-server broker:9092 --reassignment-json-file plan.json --execute
kafka-leader-election --bootstrap-server broker:9092 --election-type preferred --all-topic-partitions
kafka-dump-log --files /data/kafka/app-0/00000000000000000000.log --print-data-log
KRaft 初始化:
kafka-storage.sh random-uuid
kafka-storage.sh format -t <uuid> -c config/kraft/server.properties
listeners 和 advertised.listeners 不一致时,客户端能连上却拿不到数据。broker.id 必须唯一;KRaft 模式下节点 ID 和 controller 配置要匹配。log.dirs 磁盘满会导致写入失败和副本离线;监控要覆盖所有数据盘。min.insync.replicas 影响写入可用性。unclean.leader.election.enable=true 可能丢数据,生产慎用。kafka-topics — 主题管理kcat — 生产消费调试zookeeper — 旧架构元数据合上页面,先回答,再展开对照。
unclean.leader.election.enable=true 有什么风险?listeners 和 advertised.listeners 是否一致,不一致会让客户端拿到错误地址。