老版本kafka查询topic消费情况(python查询)

由于老版本的kafka缺少shell,导致无法通过命令直接进行查询,所以通过python代码,实现消费情况查询

安装必须的包

shell 复制代码
#pyhon2.5
pip install kafka-python==1.4.7

python脚本

python 复制代码
#!/usr/bin/env python
import sys
from kafka import KafkaConsumer, TopicPartition

if len(sys.argv) != 2:
    print("Usage: python queryConsumer.py <topic_name>")
    sys.exit(1)

bootstrap_servers = ['localhost:9092']

topic_name = sys.argv[1]

consumer = KafkaConsumer(
    bootstrap_servers=bootstrap_servers,
    auto_offset_reset='earliest',
    enable_auto_commit=False,
    consumer_timeout_ms=1000
)

partitions = consumer.partitions_for_topic(topic_name)
print("Partitions: ", partitions)

for partition in partitions:
    tp = TopicPartition(topic_name, partition)
    consumer.assign([tp])
    consumer.seek_to_end(tp)
    last_offset = consumer.position(tp)
    print("Partition: ", partition, "Last offset: ", last_offset)

consumer.close()

查询

[root@vm_ tools]# python queryConsumer.py test
('Partitions: ', set([0]))
('Partition: ', 0, 'Last offset: ', 1)
相关推荐
没有晚不了安11 分钟前
1.13作业
开发语言·python
布谷歌15 分钟前
Oops! 更改field的数据类型,影响到rabbitmq消费了...(有关于Java序列化)
java·开发语言·分布式·rabbitmq·java-rabbitmq
一个假的前端男18 分钟前
RabbitMQ 消息队列 优化发送邮件
分布式·rabbitmq·ruby
被程序耽误的胡先生20 分钟前
java中 kafka简单应用
java·开发语言·kafka
A尘埃20 分钟前
关闭超时订单和七天自动确认收货+RabbitMQ规范
分布式·rabbitmq
刀客12321 分钟前
python小项目编程-中级(1、图像处理)
开发语言·图像处理·python
2501_9032386523 分钟前
深入理解 Kafka 主题分区机制
分布式·kafka·个人开发
m0_7482412323 分钟前
RabbitMq 基础
分布式·rabbitmq·ruby
信阳农夫34 分钟前
python 3.6.8支持的Django版本是多少?
python·django·sqlite
冷琴19961 小时前
基于Python+Vue开发的反诈视频宣传管理系统源代码
开发语言·vue.js·python