老版本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)
相关推荐
Eiceblue1 小时前
Python读取PDF:文本、图片与文档属性
数据库·python·pdf
weixin_527550401 小时前
初级程序员入门指南
javascript·python·算法
程序员的世界你不懂2 小时前
Appium+python自动化(十)- 元素定位
python·appium·自动化
小鸡脚来咯2 小时前
RabbitMQ入门
分布式·rabbitmq
CryptoPP2 小时前
使用WebSocket实时获取印度股票数据源(无调用次数限制)实战
后端·python·websocket·网络协议·区块链
树叶@2 小时前
Python数据分析7
开发语言·python
qq_463944863 小时前
【Spark征服之路-2.2-安装部署Spark(二)】
大数据·分布式·spark
老胖闲聊3 小时前
Python Rio 【图像处理】库简介
开发语言·图像处理·python
码界奇点4 小时前
Python Flask文件处理与异常处理实战指南
开发语言·python·自然语言处理·flask·python3.11
浠寒AI4 小时前
智能体模式篇(上)- 深入 ReAct:LangGraph构建能自主思考与行动的 AI
人工智能·python