Python连接Kafka问题汇总

1、NoBrokersAvailable: NoBrokersAvailable-Kafka Error

解决方法:连接时指定版本

producer = KafkaProducer(bootstrap_servers=['localhost:9092'],api_version=(0,1,0))

参考链接: https://stackoverflow.com/questions/35689238/kafka-python-producer-is-not-able-to-connect/49212019#49212019

2、AssertionError: Snappy decompression unsupported

解决方法:安装pip install python-snappy

可能需要先安装snappy-dev

# download snappy
http://pkgs.fedoraproject.org/repo/pkgs/snappy/

# install snappy
tar xvfz snappy-1.1.3.tar.gz
cd snappy-1.1.3
./configure --prefix=/usr/local/snappy
make
make install

3、python读取kafka指定分区、偏移量、负载均衡(从头读取,数据量大的话,可能没响应)

from kafka import KafkaConsumer
from kafka.structs import TopicPartition

consumer = KafkaConsumer(group_id='test', bootstrap_servers=['192.168.9.1:9002'])
consumer.assign([TopicPartition(topic='test', partition=0), TopicPartition(topic='test', partition=1)])
print(consumer.partitions_for_topic("test"))  # 获取test主题的分区信息
print(consumer.assignment())
print(consumer.beginning_offsets(consumer.assignment()))
consumer.seek(TopicPartition(topic='test', partition=0), 0)
for msg in consumer:
    recv = "%s:%d:%d: key=%s value=%s" % (msg.topic, msg.partition, msg.offset, msg.key, msg.value)
    print(recv)

参考文献

https://blog.csdn.net/Beyond_F4/article/details/80310340

https://www.cnblogs.com/small-office/p/9399907.html

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值