Kafka 用 py 编写生产者和消费者

启动 kafka

在此之前应先配置好 kafka 和 Zookeeper,hadoop不配置也没关系

进入 kafka 的 bin 目录

#  kafka-server-start.sh ../config/server.properties

切换到另一个 screen,因为原来的 screen 在执行 kafka,无法输入命令,切换到另一个 screen 最简单的方法就是另起一个 ssh 窗口

jps查看进程

# jps

在这里插入图片描述
创建一个名为 test 的 topic

# kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

查看当前存活的 topic

# kafka-topics.sh --list --zookeeper localhost:2181

以 kafka 为消息队列,用 python 编写生产者、消费者

安装操作 kafka 的包

pip install kafka-python

producer.py

from kafka import KafkaProducer
import json
import time
#建立 Producer 与 Kafka 进程的连接
producer = KafkaProducer(bootstrap_servers='Master:9092')

#进行日志格式化输出
def log(_str):
   t = time.strftime(r"%Y-%m-%d_%H-%M-%S",time.localtime())
   print("[%s]%s"%(t,_str))

def counter():
   for i in range(10):
        producer.send('test',str(i).encode())
        producer.flush()
        log('send: %s' % (i))

counter()
#关闭生产者的连接
producer.close()
log('done')

consumer.py

from kafka import KafkaConsumer
import time

#格式化输出日志
def log(_str):
        t = time.strftime(r"%Y-%m-%d_%H-%M-%S",time.localtime())
        print("[%s]%s"%(t,_str))

log('start consumer')
#消费 Master:9092 的 test topic
consumer=KafkaConsumer('test',bootstrap_servers=['Master:9092'])
for msg in consumer:
        recv = "%s:%d:%d: key=%s value=%s" %(msg.topic,msg.partition,msg.offset,msg.key,msg.value)
        log(recv)

启动消费者

python consumer.py

在这里插入图片描述
切个屏幕,启动生产者

python producer.py

在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值