kafka常用命令(持续更新)

发布于:2024-12-22 ⋅ 阅读:(10) ⋅ 点赞:(0)

查看broker

使用 zookeeper-shell.sh 命令(如果你的 Kafka 集群依赖 Zookeeper):

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

这将列出所有 broker 的 ID,如输出 [0, 1, 2] 表示有 3 个 broker。

如果你的 Kafka 集群不依赖 Zookeeper,可以使用 kafka-broker-api-versions.shkafka-topics.sh

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

或者

bin/kafka-topics.sh --bootstrap-server <broker_host>:<port> --describe

describe 输出中每个 broker 的信息都会显示出来。

查看指定 topic 信息

使用 kafka-topics.sh 命令:

bin/kafka-topics.sh --bootstrap-server <broker_host>:<port> --describe --topic <your_topic>

输出示例:

Topic: your_topic     PartitionCount: 1       ReplicationFactor: 1    Configs:
    Topic: your_topic     Partition: 0    Leader: 1    Replicas: 1    Isr: 1
  • Leader 表示该 partition 当前所在的 broker ID。例如,上述输出中 Leader: 1 表示 partition 0 被分配在 broker ID 为 1 的节点上。
  • Replicas 列表表示所有副本所在的 broker,Isr 列表表示当前同步的 broker。

查看所有消费组

列出 Kafka 集群中所有的消费组:

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

这会返回一个消费组的列表。

查看指定消费组的详细信息

查看一个特定消费组的详细信息(包括每个 partition 的消费进度):

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

输出示例:

GROUP           TOPIC           PARTITION    CURRENT-OFFSET    LOG-END-OFFSET    LAG             CONSUMER-ID           HOST            CLIENT-ID
my-consumer     my-topic        0            123               125               2               consumer-1-12345      /192.168.1.10   my-consumer-id
- **CURRENT-OFFSET**:消费组消费到的当前偏移量。
- **LOG-END-OFFSET**:topic partition 的最新偏移量。
- **LAG**:消费者落后于最新消息的偏移量(即积压消息数)。
- **CONSUMER-ID**、**HOST** 和 **CLIENT-ID**:消费者的标识信息。

查看所有消费组的消费状态

如果想一次查看所有消费组的消费状态,可以运行以下命令(输出可能会较多):

bin/kafka-consumer-groups.sh --bootstrap-server <broker_host>:<port> --all-groups --describe