今天花了点时间在这个kafka上,因为我们工作中也用到了kafka,我这边对于kafka的理解是能用或者知道基本原理就行,实现在自己的windows环境搭建一次kafka,然后使用python进行数据的生产和消费。如果之后工作中对于kafka有更多的要求,我在去研究更深的东西。
1.pip安装kafka-python包:
pip install kafka-python -i https://pypi.tuna.tsinghua.edu.cn/simple
2.下载kafka,这个地址下载的很快
http://mirrors.cloud.tencent.com/apache/kafka/
我使用的是这个版本
3.将kafka文件解压到文件夹中,注意千万不要设置很长的路径,否则会产生报错
进入文件夹,然后输入cmd,以下每条语句都开一个cmd窗口,成功后也不要关闭。
- zookeeper-server-start.bat …\config\zookeeper.properties
- kafka-server-start.bat …\config\server.properties 加载配置
- kafka-console-producer.bat --broker-list 127.0.0.1:9092 --topic
test #启动生产者
- kafka-console-consumer.bat --bootstrap-server 127.0.0.1:9092
–topic test --from-beginning #启动消费者,端口是9092
生产者:producer_1.py
# 生产者
from kafka import KafkaProducer
#
consumer = KafkaProducer(bootstrap_servers=["127.0.0.1:9092"])
#partition分区
#s.get(10)发送数据,10的参数是,存入kafka的限制,不限制一直存,会把服务器存崩溃
for i in range(10):
s = consumer.send(topic="test", value=b'good', partition=0)
s.get(10)
消费者:Consumer_1.py
import time
from kafka import KafkaConsumer
consumer = KafkaConsumer(
'test',
bootstrap_servers=['127.0.0.1:9092'],
auto_offset_reset='earliest'
)
for msg in consumer:
#print(msg)
#获取值
print(msg.value.decode())
先运行生产者产生数据,然后再运行消费者,查看数据