kafka topic consumer

操作目的 命令示例(请替换您的服务器地址和主题名) 关键参数说明
创建主题 kafka-topics.sh --bootstrap-server 192.168.2.106:9092 --create --topic my_topic --partitions 3 --replication-factor 2 --create表示创建,需指定分区数 (--partitions) 和副本因子 (--replication-factor)。
删除主题 kafka-topics.sh --bootstrap-server 192.168.2.106:9092 --delete --topic my_topic 需确保服务器配置 delete.topic.enable=true(通常默认为 true)。
修改主题配置 kafka-configs.sh --bootstrap-server 192.168.2.106:9092 --entity-type topics --entity-name my_topic --alter --add-config retention.ms=86400000 使用 kafka-configs.sh脚本修改主题级别参数(如消息保留时间)。

kafka-topics.sh --bootstrap-server 192.168.2.106:9092 --list

kafka-topics.sh --bootstrap-server 192.168.2.106:9092 --describe

修改topic

kafka-topics.sh --bootstrap-server 192.168.2.106:9092 --alter --topic test --partitions 5

kafka-topics.sh --bootstrap-server 192.168.2.106:9092 --describe

生产者

kafka-console-producer.sh --bootstrap-server 192.168.2.106:9092 --topic test

>2

>what

>ok

消费者

kafka-console-consumer.sh --bootstrap-server 192.168.2.106:9092 --topic test

2

what

ok

查看消费者

kafka-consumer-groups.sh --bootstrap-server 192.168.2.106:9092 --list

console-consumer-73384

kafka-consumer-groups.sh --bootstrap-server 192.168.2.106:9092 --describe --group console-consumer-73384 --state

GROUP COORDINATOR (ID) ASSIGNMENT-STRATEGY STATE #MEMBERS

console-consumer-73384 es108:9092 (108) range Stable 1

字段

解读

GROUP

消费者组的名称:console-consumer-73384

**COORDINATOR (ID)**​

组协调器 :管理该消费者组的Kafka Broker是 es108(ID为108)。消费者组的元数据和偏移量都由此Broker负责协调 。

ASSIGNMENT-STRATEGY

分区分配策略range。这是Kafka默认的分配策略,用于在消费者组成员间分配主题分区 。

STATE

组状态Stable这是最重要的信息,表示该消费者组当前运行稳定,没有正在进行或准备进行的重平衡(Rebalance),所有成员都在正常工作中 。

#MEMBERS

组成员数量1。表示当前该组内有1个活跃的消费者实例 。

LAG

kafka-consumer-groups.sh --bootstrap-server 192.168.2.106:9092 --describe --group console-consumer-73384

GROUP TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG CONSUMER-ID HOST CLIENT-ID

console-consumer-73384 test 0 - 0 - console-consumer-a4a83b0d-5a80-454f-aef5-2bff7a89dd25 /192.168.2.107 console-consumer

console-consumer-73384 test 1 - 4 - console-consumer-a4a83b0d-5a80-454f-aef5-2bff7a89dd25 /192.168.2.107 console-consumer

console-consumer-73384 test 4 - 0 - console-consumer-a4a83b0d-5a80-454f-aef5-2bff7a89dd25 /192.168.2.107 console-consumer

console-consumer-73384 test 3 - 0 - console-consumer-a4a83b0d-5a80-454f-aef5-2bff7a89dd25 /192.168.2.107 console-consumer

console-consumer-73384 test 2 - 0 - console-consumer-a4a83b0d-5a80-454f-aef5-2bff7a89dd25 /192.168.2.107 console-consumer

作用如下:

  • 列出主题kafka-topics.sh ... --list用于查看集群中所有的主题名称。

  • 查看详情kafka-topics.sh ... --describe --topic test用于查看指定主题的详细信息,包括分区数量、副本分布、Leader 节点以及 ISR(同步副本)列表等,这对于监控主题健康状态至关重要。

  • 修改分区kafka-topics.sh ... --alter --topic test --partitions 5用于增加主题的分区数。请注意,Kafka 目前只支持增加分区,不支持减少分区。

🔧 完整的主题管理命令速查

下表汇总了主题管理的其他常用操作,方便您快速查阅。

操作目的 命令示例(请替换您的服务器地址和主题名) 关键参数说明
创建主题 kafka-topics.sh --bootstrap-server 192.168.2.106:9092 --create --topic my_topic --partitions 3 --replication-factor 2 --create表示创建,需指定分区数 (--partitions) 和副本因子 (--replication-factor)。
删除主题 kafka-topics.sh --bootstrap-server 192.168.2.106:9092 --delete --topic my_topic 需确保服务器配置 delete.topic.enable=true(通常默认为 true)。
修改主题配置 kafka-configs.sh --bootstrap-server 192.168.2.106:9092 --entity-type topics --entity-name my_topic --alter --add-config retention.ms=86400000 使用 kafka-configs.sh脚本修改主题级别参数(如消息保留时间)。

💡 生产与消费消息

除了管理主题,通过控制台快速测试消息的生产和消费也非常实用。

  • 启动控制台生产者 :您命令末尾的 kafka-console-producer.sh用于启动一个生产者,可以实时输入消息并发送到指定主题。

    复制代码
    kafka-console-producer.sh --bootstrap-server 192.168.2.106:9092 --topic test
  • 启动控制台消费者 :要读取刚生产的消息,可以启动一个消费者。使用 --from-beginning参数可以从头开始消费主题中的所有历史消息。

    复制代码
    kafka-console-consumer.sh --bootstrap-server 192.168.2.106:9092 --topic test --from-beginning

🧠 重要提醒

  • 分区只能增加:再次强调,修改分区数时,新的分区数必须大于当前数量,无法减少。

  • 使用 --bootstrap-server :您已经使用了正确的参数。在较新的 Kafka 版本(约 2.2 以后)中,推荐使用 --bootstrap-server替代旧的 --zookeeper参数。

  • 主题删除是异步操作:执行删除命令后,主题不会立即被物理删除,而是先被标记为待删除,由 Kafka 在后台异步清理。

相关推荐
网络工程小王12 小时前
【HCIE-AI】12.deepspeed分布式并行训练进阶版
人工智能·pytorch·分布式·学习·昇腾·deepspeed
ACP广源盛1392462567314 小时前
国产算力互联IX8024@ACP#Kimi K3 开源后的端侧部署硬件架构分析
大数据·人工智能·分布式·单片机·嵌入式硬件
花生了什么事o15 小时前
分布式 ID 生成方案:从数据库自增到雪花算法
数据库·分布式·算法
java1234_小锋15 小时前
【免费】基于Spark实时电商用户行为分析与预测(Java版本+可视化大屏+Kafka+SpringBoot+Vue3) 锋哥原创出品,必属精品
java·spark·kafka·实时电商用户行为分析与预测系统
爱吃提升1 天前
python 分布式爬虫、爬虫合规与综合实战项目
分布式·爬虫·python
ZENERGY-众壹1 天前
跨品牌逆变器升级:华为锦浪德业 API 对接的 7 个坑
分布式·华为·数据归一化·光伏运维·逆变器api
薛定谔的猫19822 天前
LLaMA-Factory +DeepSpeed 分布式多卡训练实战全解
分布式·deepspeed·zero·多卡训练·多卡分布式训练
稚南城才子,乌衣巷风流2 天前
RabbitMQ 消息队列:从入门到实战
分布式·rabbitmq
AI人工智能+电脑小能手2 天前
【大白话说Java面试题 第194题】【08_Kafka篇】第10题:简述 Kafka 的 Rebalance 机制?
java·kafka·消费者组·rebalance·分布式消息队列
Database_Cool_2 天前
单机 MySQL 迁移到分布式数据库方便吗?阿里云 PolarDB-X 100% MySQL 协议兼容零改造平滑迁移
数据库·分布式·mysql