kafka连接脚本

环境:python3,用到的模块有 pykafka,kazoo

# coding=utf-8

import pykafka

class KafkaReaderThread(object):
def __init__(self, hosts, broker_version, topic, consumer_group):
self.hosts = hosts
self.broker_version = broker_version
self.topic = topic
self.consumer_group = consumer_group
self.client = self.new_client() def new_client(self):
print "start connect..."
try:
new_client = pykafka.KafkaClient(
hosts=self.hosts,
# zookeeper_hosts=self.proc_setting['setting']['zk_server'],
broker_version=self.broker_version
)
print "connected"
return new_client
except Exception as e:
print("error: {}".format(e))
return def fetchmany(self):
client = self.client
if client:
consumer = None
try:
topic = client.topics[self.topic] consumer = topic.get_balanced_consumer(
consumer_group=self.consumer_group,
managed=True,
auto_start=False,
# auto_commit_enable=True,
# auto_commit_interval_ms=1
# reset_offset_on_start=False,
# auto_offset_reset=pykafka.common.OffsetType.LATEST,
)
# print topic.partitions
consumer.start()
# _offset = consumer.held_offsets()
for message in consumer:
# test modle print(message.value, consumer.held_offsets) consumer.commit_offsets()
# consumer.stop()
# continue except Exception as e:
print("error: {}".format(e))
try:
consumer.stop()
except Exception as e:
pass if __name__ == '__main__':
hosts = "172.16.1.249:9092"
broker_version = '0.9.0'
topic = "BAYONET_VEHICLEALARM"
consumer_group = "consumer_group_police_seemmo" kafka = KafkaReaderThread(hosts, broker_version, topic, consumer_group)
if kafka.client:
kafka.fetchmany()

使用 pykafka 进行消费的更多相关文章

  1. Python 基于Python结合pykafka实现kafka生产及消费速率&主题分区偏移实时监控

    基于Python结合pykafka实现kafka生产及消费速率&主题分区偏移实时监控   By: 授客 QQ:1033553122   1.测试环境 python 3.4 zookeeper- ...

  2. Python 基于pykafka简单实现KAFKA消费者

    基于pykafka简单实现KAFKA消费者   By: 授客 QQ:1033553122         1.测试环境 python 3.4 zookeeper-3.4.13.tar.gz 下载地址1 ...

  3. Kafka 及 PyKafka 的使用

    1. Kafka 1. 简介 Kafka 是一种分布式的.分区的.多副本的基于发布/订阅的消息系统.它是通过 zookeeper 进行协调,常见可以用于 web/nginx 日志.访问日志.消息服务等 ...

  4. [转]kafka要等一段时间才能消费到数据

    kafka要等一段时间才能消费到数据  pythonkafka   为什么用python写的kafka客户端脚本,程序一运行就能生产数据,而要等一段时间才能消费到数据(topic里面有数据).(pyk ...

  5. dubbo服务提供与消费

    一.前言 项目中用到了Dubbo,临时抱大腿,学习了dubbo的简单实用方法.现在就来总结一下dubbo如何提供服务,如何消费服务,并做了一个简单的demo作为参考. 二.Dubbo是什么 Dubbo ...

  6. Kafka消费组(consumer group)

    一直以来都想写一点关于kafka consumer的东西,特别是关于新版consumer的中文资料很少.最近Kafka社区邮件组已经在讨论是否应该正式使用新版本consumer替换老版本,笔者也觉得时 ...

  7. 通俗理解Android事件分发与消费机制

    深入:Android Touch事件传递机制全面解析(从WMS到View树) 通俗理解Android事件分发与消费机制 说起Android滑动冲突,是个很常见的场景,比如SliddingMenu与Li ...

  8. 使用dubbo分布式服务框架发布服务及消费服务

    什么是DUBBO DUBBO是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案. 准备工作 安装zookeeper ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服 ...

  9. Dubbo消费端错误: ClassNotFoundException: org.apache.zookeeper.proto.WatcherEvent

    出现错误的原因是消费端war没有启动成功, 但是zkClient和Dubbo的对应Thread启动了, web container无法加载对应的类, INFO: Initializing Protoc ...

随机推荐

  1. Ubuntu配置国内高速apt-get更新源

    Ubuntu配置国内高速apt-get更新源     具体内容直接参考这篇博客:https://www.linuxidc.com/Linux/2017-11/148627.htm 此网站可直接找到符合 ...

  2. 新检出普通web项目爬坑记【我】

    新检出一个普通 web项目, 1.首先发现需要用到的一些代码包没有加到构建目录, 先加入构建: 2.然后发现项目大面积报错, 随便打开代码看下,发现是因为缺少jar包,因为报错的代码太多了,所以使用 ...

  3. Spring cloud微服务安全实战-5-6实现授权码认证流程(2)

    授权服务器,返回给我一个授权码,这里我只需要把授权传回去就可以了.来证明我是这个服务器. URI的地址传和第一次的地址一样的,认证服务器会比,第一次跳转的请求和第二次申请令牌的请求redirect_u ...

  4. mysql 1045

    1.sudo gedit /etc/my.cnf 2.加入 skip-grant-tables 3.直接登录,输密码时回车 mysql -u root -p 4.修改密码 use mysql; upd ...

  5. QML按键

    1.普通用法 import QtQuick 2.9 import QtQuick.Window 2.2 import QtQuick.Controls 2.2 ApplicationWindow { ...

  6. 一个80后妈妈的邪淫忏悔(转自学佛网:http://www.xuefo.net/nr/article55/551761.html)

    我是一个80后独生女,2012年因为孩子小产后,痛苦难当,悲伤中想起可为孩子超度,因此开始了与佛法的缘分.断断续续几年的学习,才真的知道了邪淫的可怕 我从小面容姣好,气质超群,一直被父母,老师宠爱.想 ...

  7. Spring MVC初始化

      整个Spring MVC的初始化,配置了DispatcherServlet和ContextLoaderListener,那么它们是如何初始化Spring IoC容器上下文和映射请求上下文的呢?所以 ...

  8. numpy包中,与线性代数相关的模块——linalg(利那隔)

    https://github.com/scalanlp/breeze/wiki/Linear-Algebra-Cheat-Sheethttps://docs.scipy.org/doc/numpy-1 ...

  9. web端自动化——自动化测试准备工作

    准备工作# 在开始自己项目的自动化测试之前,我们最好已经完成了下面的准备工作: 1.熟悉待测系统 对项目的待测系统整体功能和业务逻辑有比较清晰的认识. 2.编写系统的自动化测试用例大纲和自动化测试用例 ...

  10. top命令常用

    top 使用时的命令: Ctrl+L擦除并且重写屏幕. h或者?显示帮助画面,给出一些简短的命令总结说明. k 终止一个进程.系统将提示用户输入需要终止的进程PID,以及需要发送给该进程什么样的信号. ...