python 操作Kafka

Pyhon操作Kafka数据库


1.Python需要安装pykafka模块

pykafka官方手册: http://pykafka.readthedocs.io/en/latest/index.html

pip install pykafka

2.python 存入kafka消息

# -*- coding: utf-8 -*-

from kafka import KafkaProducer 

producer = KafkaProducer(bootstrap_servers=['127.0.0.1:9092'])
 #此处ip可以是多个['0.0.0.1:9092','0.0.0.2:9092','0.0.0.3:9092' ]
for i in range(3):
     msg = "msg %d" % i
     print msg
     producer.send('test', msg)
producer.close()

3.读取本地的所有 topic 信息

from pykafka import KafkaClient
client = KafkaClient(hosts="127.0.0.1:9092")
for topic in client.topics:
    print topic

4.查看brokers信息

from pykafka import KafkaClient
client = KafkaClient(hosts="127.0.0.1:9092")
print client.brokers

for n in client.brokers:
    host = client.brokers[n].host
    port = client.brokers[n].port
    id = client.brokers[n].id
    print "host=%s | port=%s | broker.id=%s " %(host,port,id)

5.直接消费kafka

#encoding:utf8
from pykafka import KafkaClient
client = KafkaClient(hosts="127.0.0.1:9092")
topic = client.topics['test']
# 获取 consumer 消费者
consumer = topic.get_simple_consumer(consumer_group="test",reset_offset_on_start=True)
for message in consumer:
    print message
    if message is not None:      
        print ">>>>>>>>>>",message.offset
        print ">>>>>>>>>>",message.value  

6.从zookeeper消费

from pykafka import KafkaClient
client = KafkaClient(hosts="127.0.0.1:9092")
topic = client.topics['test']
balanced_consumer= topic.get_balanced_consumer(consumer_group='test',auto_commit_enable=True,reset_offset_on_start=True,zookeeper_connect='127.0.0.1:9092')

    for message in balanced_consumer:
        if message is not None:
            print message.offset, message.value

文章采集:https://www.linuxhub.org/?p=4317

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 你好
    简一HJH阅读 140评论 0 0
  • 遇到这么多的人 好像我喜欢的很少 也许是我少了一份热情吧 今天跟男朋友吵架 突然觉得想要静下来想想自己究竟想要一份...
    BBM阅读 221评论 0 0
  • 一个人追求的事物可以有很多种,金钱、爱情、权力,不一而足,或者只是一段时期内的小小心愿。在想要和得到之间,只要欲望...
    會寫詩的小妮子阅读 1,087评论 0 0
  • 今晚,又有两朵昙花要开了。一如次次的开放,她总是令你那样的猝不及妨。坐等她开,个把小时过去,感觉花苞似乎...
    克已复礼阅读 1,190评论 0 6
  • 文/逗逗,资料/网络 1. 我身高163cm,体重120斤。 男朋友说喜欢我胖,然后每天都要问我吃饭没有,我说了吃...
    遇见逗逗阅读 523评论 0 0

友情链接更多精彩内容