Kafka日常运维命令总结

一、集群管理
  1. 前台启动Broker

    bash 复制代码
    bin/kafka-server-start.sh <path>/server.properties
    • 关闭方式:Ctrl + C
  2. 后台启动Broker

    bash 复制代码
    bin/kafka-server-start.sh -daemon <path>/server.properties
  3. 关闭Broker

    bash 复制代码
    bin/kafka-server-stop.sh

二、Topic管理
操作 命令
创建Topic bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --partitions 3 --replication-factor 3 --topic <topicname>
删除Topic bin/kafka-topics.sh --delete --bootstrap-server localhost:9092 --topic <topicname>
查询Topic列表 bin/kafka-topics.sh --bootstrap-server localhost:9092 --list
查询Topic详情 bin/kafka-topics.sh --bootstrap-server localhost:9092 --describe --topic <topicname>
增加分区数 bin/kafka-topics.sh --alter --bootstrap-server localhost:9092 --partitions 6 --topic <topicname>

注意 :新版本推荐使用--bootstrap-server替代--zookeeper


三、Consumer Groups管理
操作 命令
查询消费组列表 bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --list
查询消费组详情 bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --describe --group <groupname>
删除消费组 bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --delete --group <groupname>
  1. 重设消费位移 :

    bash 复制代码
    # 重置到最早位移
    bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --group <groupname> --reset-offsets --to-earliest --execute
    
    # 重置到最新位移
    bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --group <groupname> --reset-offsets --to-latest --execute
    
    # 重置到指定位移
    bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --group <groupname> --reset-offsets --to-offset 2000 --execute

四、常用运维工具
  1. 生产者控制台

    bash 复制代码
    bin/kafka-console-producer.sh --broker-list localhost:9092 --topic <topicname>
    • 高级参数:
      --compression-codec lz4(压缩)
      --request-required-acks all(ACK机制)
      --message-send-max-retries 10(重试次数)
  2. 消费者控制台

    bash 复制代码
    bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic <topicname> --group <groupname> --from-beginning
  3. 性能测试工具:

    bash 复制代码
    # 生产者性能测试
    bin/kafka-producer-perf-test.sh --topic <topic> --num-records 1000000 --record-size 1000
    
    # 消费者性能测试
    bin/kafka-consumer-perf-test.sh --topic <topic> --messages 1000000
  4. 获取Topic消息数

    bash 复制代码
    # 最新位移(总消息数)
    bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list localhost:9092 --topic <topic> --time -1
    
    # 最早位移
    bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list localhost:9092 --topic <topic> --time -2

五、分区管理
  1. Preferred Leader选举

    bash 复制代码
    bin/kafka-leader-election.sh --bootstrap-server localhost:9092 --election-type preferred --topic <topic> --partition 0
  2. 分区重分配:

    bash 复制代码
    # 生成迁移计划
    bin/kafka-reassign-partitions.sh --bootstrap-server localhost:9092 --generate --topics-to-move-json-file plan.json
    
    # 执行迁移
    bin/kafka-reassign-partitions.sh --bootstrap-server localhost:9092 --execute --reassignment-json-file reassign.json
    
    # 验证进度
    bin/kafka-reassign-partitions.sh --bootstrap-server localhost:9092 --verify --reassignment-json-file reassign.json

六、高级运维
  1. 查看日志段元数据

    bash 复制代码
    bin/kafka-dump-log.sh --files 000000000000.log --print-data-log
  2. 跨集群复制(MirrorMaker)

    bash 复制代码
    bin/kafka-mirror-maker.sh --consumer.config consumer.conf --producer.config producer.conf --whitelist ".*"
  3. 查看__consumer_offsets

    bash 复制代码
    bin/kafka-console-consumer.sh --topic __consumer_offsets --formatter "kafka.coordinator.group.GroupMetadataManager\$OffsetsMessageFormatter"

关键注意事项:

  1. 版本兼容性:

    • ≥ Kafka 2.2.x 推荐使用 --bootstrap-server 替代 --zookeeper
    • 删除Topic需确保 delete.topic.enable=true
  2. 生产环境建议:

    • 分区重分配避免高峰时段操作
    • 重设位移前先停止消费者组
    • MirrorMaker需监控复制延迟
  3. 常用诊断技巧:

    bash 复制代码
    # 检查消息积压(Lag)
    bin/kafka-consumer-groups.sh --describe --group <group> | awk '{print $6}'
    
    # 检查Controller状态
    bin/kafka-metadata-quorum.sh --status

完整文档参考:Apache Kafka Operations

相关推荐
迪康coolmu1 小时前
企业U盘管控落地实战:基于迪康端点安全一体化管理系统的移动存储安全实践
运维·人工智能·经验分享·笔记·安全·电脑
Decay__2 小时前
21_MySQL 优化案例集 —— 慢 SQL 优化、索引重构与参数调整收益对比
运维·数据库·sql·mysql·架构
此生决int2 小时前
Linux系列(08)——进程控制
linux·运维·驱动开发
BioTender2 小时前
Xaira 发布 X-Automate:将物理 AI 与智能体 AI 引入实验室自动化
运维·人工智能·自动化
Z21-X4 小时前
云原生运维学习笔记:容器技术的演进、底层原理与 Docker 全生命周期管理
运维·笔记·学习·云原生
Decay__12 小时前
18_MySQL 智能巡检方案 —— 巡检项清单 / 一键巡检脚本 / 健康评分
运维·数据库·sql·mysql·架构
天远API16 小时前
零信任架构实战:基于天远运营商三要素详版V即时版构建自动化消费电子大促电商平台高价值权益秒杀与优惠券防羊毛高并发实名核验网关
运维·人工智能·架构·自动化
Android系统攻城狮17 小时前
Linux FFmpeg深度解析之avcodec_default_get_encode_buffer调用流程与实战(二十八)
linux·运维·服务器·ffmpeg·车载音视频·ffmpeg音视频
乐维_lwops18 小时前
案例解读:大型综合性科创产业园运维监控落地实践
运维·网络·人工智能·安全·it监控·国产运维智能体