Kafka运维宝典 (四)- Kafka 常用命令介绍

ops/2025/2/1 3:43:53/

Kafka运维宝典 (四)- Kafka 常用命令介绍

文章目录

  • Kafka运维宝典 (四)- Kafka 常用命令介绍
    • 1. Kafka Broker 管理相关命令
      • 1.1 查看 Kafka Broker 信息
      • 1.2 查看 Kafka Broker API 版本
    • 2. Kafka 主题管理相关命令
      • 2.1 查看所有主题
      • 2.2 创建主题
      • 2.3 查看主题详情
      • 2.4 删除主题
      • 2.5 修改主题分区数
    • 3. 生产者命令
      • 3.1 向主题发送消息
    • 4. 消费者命令
      • 4.1 从主题消费消息
    • 5. 消费者组命令
      • 5.1 查看所有消费者组
      • 5.2 查看消费者组详情
      • 5.3 重置消费者组的偏移量
    • 6. 数据转储命令
      • 6.1 导出主题数据到文件
      • 6.2 从文件导入数据到主题
    • 7. ZooKeeper 相关命令
      • 7.1 查看 Kafka 在 ZooKeeper 中的信息
    • 8. 分区重新分配命令
      • 8.1 生成分区重新分配计划
      • 8.2 执行分区重新分配

Kafka 提供了一套全面的命令行工具,支持主题管理、消费者组管理、生产与消费数据等操作。熟练掌握这些命令可以帮助你更高效地管理 Kafka 集群,同时快速解决问题,提高系统运行效率。

1. Kafka Broker 管理相关命令

1.1 查看 Kafka Broker 信息

用途:查看集群中所有 Kafka Broker 的 broker.id

命令

bin/zookeeper-shell.sh <zookeeper_host>:2181 <<< "ls /brokers/ids"

输出

[0, 1, 2]

表示当前 Kafka 集群中有 3 个 Broker,broker.id 分别为 0, 1, 2

1.2 查看 Kafka Broker API 版本

用途:检查 Kafka Broker 支持的 API 版本和兼容性。

命令

bin/kafka-broker-api-versions.sh --bootstrap-server <broker_host>:9092

输出

Supported APIs:API Name        Max Version   Min VersionFetch           15            0Produce         15            0Metadata        12            0

2. Kafka 主题管理相关命令

2.1 查看所有主题

用途:查看 Kafka 集群中的所有主题。

命令

bin/kafka-topics.sh --bootstrap-server <broker_host>:9092 --list

输出

topic1
topic2
topic3

2.2 创建主题

用途:在 Kafka 集群中创建新的主题。

命令

bin/kafka-topics.sh --bootstrap-server <broker_host>:9092 --create --topic my_topic --partitions 3 --replication-factor 2

说明

  • --partitions 3:创建 3 个分区。
  • --replication-factor 2:每个分区有 2 个副本。

输出

Created topic my_topic.

2.3 查看主题详情

用途:查看某个主题的详细信息,包括分区、副本和 ISR(同步副本)。

命令

bin/kafka-topics.sh --bootstrap-server <broker_host>:9092 --describe --topic my_topic

输出示例

    Topic: my_topic    PartitionCount: 3    ReplicationFactor: 2    Configs:Topic: my_topic    Partition: 0    Leader: 1    Replicas: 1,2    Isr: 1,2Topic: my_topic    Partition: 1    Leader: 2    Replicas: 2,3    Isr: 2,3Topic: my_topic    Partition: 2    Leader: 3    Replicas: 3,1    Isr: 3,1

2.4 删除主题

用途:删除指定的主题(需启用 delete.topic.enable=true 配置)。

命令

bin/kafka-topics.sh --bootstrap-server <broker_host>:9092 --delete --topic my_topic

输出

Topic my_topic is marked for deletion.

2.5 修改主题分区数

用途:为现有主题增加分区数(只能增加,不能减少)。

命令

bin/kafka-topics.sh --bootstrap-server <broker_host>:9092 --alter --topic my_topic --partitions 5

输出

Updated topic my_topic.

3. 生产者命令

3.1 向主题发送消息

用途:通过生产者工具向 Kafka 主题发送消息。

命令

bin/kafka-console-producer.sh --broker-list <broker_host>:9092 --topic my_topic

操作
输入消息后按回车即可发送。例如:

> hello world
> this is a test message

4. 消费者命令

4.1 从主题消费消息

用途:使用消费者工具从 Kafka 主题消费消息。

命令

bin/kafka-console-consumer.sh --bootstrap-server <broker_host>:9092 --topic my_topic --from-beginning

说明

  • --from-beginning:从主题的起始位置消费消息。

输出

hello world
this is a test message

5. 消费者组命令

5.1 查看所有消费者组

用途:查看 Kafka 集群中的所有消费者组。

命令

bin/kafka-consumer-groups.sh --bootstrap-server <broker_host>:9092 --list

输出示例

consumer_group_1
consumer_group_2
consumer_group_3

5.2 查看消费者组详情

用途:查看某个消费者组的分区偏移量和滞后量。

命令

bin/kafka-consumer-groups.sh --bootstrap-server <broker_host>:9092 --describe --group consumer_group_1

输出示例

GROUP           TOPIC           PARTITION  CURRENT-OFFSET  LOG-END-OFFSET  LAG             CONSUMER-ID
consumer_group_1 my_topic        0          100             200             100             consumer-1
consumer_group_1 my_topic        1          150             150             0               consumer-2

5.3 重置消费者组的偏移量

用途:将消费者组的偏移量重置到指定位置。

命令

bin/kafka-consumer-groups.sh --bootstrap-server <broker_host>:9092 --group consumer_group_1 --topic my_topic --reset-offsets --to-earliest --execute

说明

  • --to-earliest:将偏移量重置到最早位置。
  • --to-latest:将偏移量重置到最新位置。
  • --shift-by N:向前或向后移动偏移量。

6. 数据转储命令

6.1 导出主题数据到文件

用途:将 Kafka 主题中的消息导出到文件。

命令

bin/kafka-console-consumer.sh --bootstrap-server <broker_host>:9092 --topic my_topic --from-beginning > /path/to/output.txt

6.2 从文件导入数据到主题

用途:将文件中的数据导入到 Kafka 主题。

命令

bin/kafka-console-producer.sh --broker-list <broker_host>:9092 --topic my_topic < /path/to/input.txt

7. ZooKeeper 相关命令

7.1 查看 Kafka 在 ZooKeeper 中的信息

用途:通过 ZooKeeper 查看 Kafka 的元数据。

命令

bin/zookeeper-shell.sh <zookeeper_host>:2181

操作
进入 ZooKeeper CLI 后,可执行以下命令:

  • 查看所有 Broker:
    ls /brokers/ids
    
  • 查看所有消费者组:
    ls /consumers
    

8. 分区重新分配命令

8.1 生成分区重新分配计划

用途:生成新的分区分配方案。

命令

bin/kafka-reassign-partitions.sh --bootstrap-server <broker_host>:9092 --generate --topics-to-move-json-file topics.json --broker-list "0,1,2"

示例 topics.json 文件

{"topics": [{ "topic": "my_topic" }],"version": 1
}

8.2 执行分区重新分配

用途:执行分区重新分配计划。

命令

bin/kafka-reassign-partitions.sh --bootstrap-server <broker_host>:9092 --execute --reassignment-json-file reassignment.json

http://www.ppmy.cn/ops/154648.html

相关文章

力扣hot100--2

文章目录 力扣hot100-矩阵题目&#xff1a;矩阵置零题解 题目&#xff1a;螺旋矩阵题解 题目&#xff1a;旋转图像题解 力扣hot100-矩阵 题目&#xff1a;矩阵置零 原题链接&#xff1a;矩阵置零 题解 方法&#xff1a;通过先标记需要置为 0 的位置&#xff0c;再进行修改…

20250124 Flink 增量聚合 vs 全量聚合

1. 增量聚合 vs 全量聚合 (1) 增量聚合&#xff08;ReduceFunction / AggregateFunction&#xff09; 工作方式&#xff1a; 逐步计算&#xff1a;每一条数据到达窗口时&#xff0c;立即与当前聚合结果结合&#xff0c;生成新的中间结果。 仅保存中间状态&#xff1a;内存中只…

活动回顾和预告|微软开发者社区 Code Without Barriers 上海站首场活动成功举办!

Code Without Barriers 上海活动回顾 Code Without Barriers&#xff1a;AI & DATA 深入探索人工智能与数据如何变革行业 2025年1月16日&#xff0c;微软开发者社区 Code Without Barriers &#xff08;CWB&#xff09;携手 She Rewires 她原力在大中华区的首场活动“AI &…

深入解析 C++17 中的 std::not_fn

文章目录 1. std::not_fn 的定义与目的2. 基本用法2.1 基本示例2.2 使用 Lambda 表达式2.3 与其他函数适配器的比较3. 在标准库中的应用3.1 结合标准库算法使用3.1.1 std::find_if 中的应用3.1.2 std::remove_if 中的应用3.1.3 其他标准库算法中的应用4. 高级技巧与最佳实践4.1…

pytorch实现半监督学习

半监督学习&#xff08;Semi-Supervised Learning&#xff0c;SSL&#xff09;结合了有监督学习和无监督学习的特点&#xff0c;通常用于部分数据有标签、部分数据无标签的场景。其主要步骤如下&#xff1a; 1. 数据准备 有标签数据&#xff08;Labeled Data&#xff09;&…

Redis内部数据结构--跳表详解

跳表 1. 什么是跳表--skiplist2. skiplist的效率如何保证3. 跳表的实现4. 跳表与平衡搜索树和哈希表的对比 1. 什么是跳表–skiplist skiplist本质上也是一种查找结构&#xff0c;用于解决算法中的查找问题&#xff0c;跟平衡搜索树和哈希表的价值是一样的&#xff0c;可以作为…

【事务管理】

目录 一. 介绍与操作二. Spring事务管理三. 事务四大特性 \quad 一. 介绍与操作 \quad \quad 二. Spring事务管理 \quad 推荐加在经常进行增删改的方法上 \quad 三. 事务四大特性 \quad ctrlaltt

实验一---典型环节及其阶跃响应---自动控制原理实验课

一 实验目的 1.掌握典型环节阶跃响应分析的基本原理和一般方法。 2. 掌握MATLAB编程分析阶跃响应方法。 二 实验仪器 1. 计算机 2. MATLAB软件 三 实验内容及步骤 利用MATLAB中Simulink模块构建下述典型一阶系统的模拟电路并测量其在阶跃响应。 1.比例环节的模拟电路 提…