Kafka - Topic 消费状态常用命令

新建 Topic

bash 复制代码
./kafka-topics --zookeeper 166.188.xx.xx --create --topic flink_source --partitions 1 --replication-factor 1
  • replication-factor:指定副本数量

  • partitions:指定分区

删除 Topic

bash 复制代码
./kafka-topics --zookeeper 166.188.xx.xx --delete --topic flink_source

查看所有 Topic

bash 复制代码
./kafka-topics --zookeeper 166.188.xx.xx --list

查看指定 Topic 详情

bash 复制代码
./kafka-topics --zookeeper 166.188.xx.xx --topic flink_source --describe

查看 consumer group 列表

查看consumer group列表有新、旧两种命令,分别查看新版(信息保存在broker中)consumer列表和老版(信息保存在zookeeper中)consumer列表,因而需要区分指定bootstrap--server和zookeeper参数

bash 复制代码
./kafka-consumer-groups --new-consumer --bootstrap-server 166.188.xx.xx:9092 --list
bash 复制代码
./kafka-consumer-groups --zookeeper 166.188.20.32:2181 --list

查看指定 consumer group 详情

bash 复制代码
./kafka-consumer-groups --new-consumer --bootstrap-server 166.188.xx.xx:9092 --group logstash --describe
bash 复制代码
./kafka-consumer-groups --zookeeper 166.188.xx.xx:2181 --group console-consumer-12278 --describe

这里同样需要根据新、旧版本的consumer,分别指定bootstrap-server与zookeeper参数。其中依次展示group名称、消费的topic名称、partition id、consumer group最后一次提交的offset、最后提交的生产消息offset、消费offset与生产offset之间的差值、当前消费topic-partition的group成员id(不一定包含hostname)

补充知识

消费组列名解读

  • **TOPIC:**消费者的topic名称
  • **PARTITION:**分区数的名称
  • **CURRENT-OFFSET:**consumer group最后一次提交的offset
  • **LOG-END-OFFSET:**最后提交的生产消息offset
  • **LAG:**消费offset与生产offset之间的差值
  • **CONSUMER-ID:**消费者的ID编号,消费者组里面最少要有一个消费者,当然也可以有多个消费者
  • **HOST:**消费者的主机IP地址
  • **CLIENT-ID:**链接的ID编号

关于 offset

kafka有个常用的设置是 auto.offset.reset ,该属性指定了消费者在读取一个没有偏移量的分区或者偏移量无效的情况下(因消费者长时间失效,包含偏移量的记录已经过时井被删除)该作何处理。

它的默认值是 latest,意思是说,在偏移量无效的情况下,消费者将从最新的记录开始读取数据(在消费者启动之后生成的记录)。另一个值是 earliest ,意思是说,在偏移量无效的情况下,消费者将从起始位置读取分区的记录。

该属性有以下几个值:

  • **earliest:**当各分区下有已提交的offset时,从提交的offset开始消费;无提交的offset时,从头开始消费
  • **latest:**当各分区下有已提交的offset时,从提交的offset开始消费;无提交的offset时,消费新产生的该分区下的数据
  • **none:**topic各分区都存在已提交的offset时,从offset后开始消费;只要有一个分区不存在已提交的offset,则抛出异常

这个设置只有当我们的消费者(或者消费者群组)在分区内找不到有效的offset时才会生效

相关推荐
indexsunny8 小时前
互联网大厂Java面试实战:从Spring Boot到微服务架构的技术问答解析
java·spring boot·redis·微服务·kafka·jwt·flyway
麦兜*9 小时前
深入解析现代分布式事务架构:基于Seata Saga模式与TCC模式实现金融级高可用与数据最终一致性的工程实践全解析
分布式·金融·架构
難釋懷9 小时前
分布式锁-redission功能介绍
分布式
only-qi12 小时前
微服务场景下,如何实现分布式事务来保证一致性?
分布式·微服务·架构
m0_5648768413 小时前
Distributed data parallel (DDP)分布式训练
分布式
BYSJMG14 小时前
计算机毕设选题推荐:基于Hadoop的交通事故数据可视化分析系统
大数据·vue.js·hadoop·分布式·后端·信息可视化·课程设计
野犬寒鸦15 小时前
从零起步学习并发编程 || 第三章:JMM(Java内存模型)详解及对比剖析
java·服务器·开发语言·分布式·后端·学习·spring
虫小宝16 小时前
查券返利机器人的异步任务调度:Java XXL-Job+Redis实现海量查券请求的分布式任务分发
java·redis·分布式
liux352817 小时前
MySQL -> Canal -> Kafka-> ES 完整数据同步流程详解
mysql·elasticsearch·kafka
yq19820430115618 小时前
构建高可用资源导航平台:基于Django+Scrapy的分布式架构实践
分布式·scrapy·django