Kafka 系列 —(13)Kafka 管理:主题、消费者群组、动态配置变更

目录

1.主题(Topic)管理

1.1 创建主题(Create Topic)

1.2 增加分区(Increase Partitions)

1.3 删除主题(Delete Topic)

1.4 列出所有主题(List Topics)

1.5 查看主题详情(Describe Topic)

2.消费者群组管理(Consumer Group Management)

2.1 列出并描述消费者群组(List & Describe Groups)

2.2 删除群组(Delete Consumer Group)

2.3 偏移量管理(Offset Management)

3.动态配置变更(Dynamic Config Override)

3.1 覆盖主题(Topic)默认配置

3.2 覆盖客户端(Client)默认配置

3.3 列出所有被覆盖的配置

3.4 移除被覆盖的配置(Remove Override)

附录:常用管理命令速查表(超实用)


1.主题(Topic)管理

Kafka 的主题管理包括:创建、扩容(增加分区)、删除、查看列表、查看详情。一般使用 kafka-topics.sh 管理。

所有命令以下均假设 Kafka 安装目录为 bin/,Zookeeper/Controller-less(KRaft)环境均适用(自动识别)。


1.1 创建主题(Create Topic)

基本命令

bin/kafka-topics.sh --create \
  --topic my-topic \
  --bootstrap-server localhost:9092 \
  --partitions 3 \
  --replication-factor 2

参数说明

  • --partitions:初始分区数

  • --replication-factor:副本数,建议 ≥ 2(生产环境 ≥ 3)

  • 创建成功后 topic 会立即可见

常见配置示例(含自定义配置)

bin/kafka-topics.sh --create \
  --topic logs \
  --bootstrap-server localhost:9092 \
  --partitions 6 \
  --replication-factor 3 \
  --config retention.ms=172800000 \
  --config max.message.bytes=5242880

1.2 增加分区(Increase Partitions)

Kafka 只能增加分区,不能减少。

bin/kafka-topics.sh --alter \
  --topic my-topic \
  --bootstrap-server localhost:9092 \
  --partitions 10

注意

  • 增加分区会改变消息路由,可能影响 key-order

  • 分区不可减少(如需减少,必须新建 topic 并迁移数据)


1.3 删除主题(Delete Topic)

前提:broker 中 delete.topic.enable=true

bin/kafka-topics.sh --delete \
  --topic my-topic \
  --bootstrap-server localhost:9092

注意

  • 删除操作是异步的

  • 若副本异常,可能出现 “标记删除(marked for deletion)” 状态

  • 删除不可恢复


1.4 列出所有主题(List Topics)

bin/kafka-topics.sh --list \
  --bootstrap-server localhost:9092

1.5 查看主题详情(Describe Topic)

bin/kafka-topics.sh --describe \
  --topic my-topic \
  --bootstrap-server localhost:9092

输出包含:

  • 分区信息

  • leader、副本、副本状态

  • ISR(In-Sync Replicas)

  • 配置信息


2.消费者群组管理(Consumer Group Management)

相关命令:kafka-consumer-groups.sh


2.1 列出并描述消费者群组(List & Describe Groups)

列出所有群组

bin/kafka-consumer-groups.sh \
  --bootstrap-server localhost:9092 \
  --list

描述某个群组

bin/kafka-consumer-groups.sh \
  --bootstrap-server localhost:9092 \
  --describe \
  --group my-group

包含:

  • 已消费 offset

  • log end offset

  • lag(滞后量)

  • 参与消费的 clientId、consumerId

  • 分区分配情况

Lag = log-end-offset − committed-offset

用于判断消费是否落后。


2.2 删除群组(Delete Consumer Group

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

34号树洞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值