今天花了点时间在这个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/
```
我使用的是这个版本
![在这里插入图片描述](https://img-blog.csdnimg.cn/1b912cb4c2b644ba90c5369674420d70.png)
3.将kafka文件解压到文件夹中,**注意千万不要设置很长的路径,否则会产生报错**
进入文件夹,然后输入cmd,以下每条语句都开一个cmd窗口,成功后也不要关闭。
1. zookeeper-server-start.bat ..\..\config\zookeeper.properties
2. kafka-server-start.bat ..\..\config\server.properties 加载配置
3. kafka-console-producer.bat --broker-list 127.0.0.1:9092 --topic
test #启动生产者
4. kafka-console-consumer.bat --bootstrap-server 127.0.0.1:9092
--topic test --from-beginning #启动消费者,端口是9092
生产者:producer_1.py
```python
# 生产者
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
```python
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())
```
先运行生产者产生数据,然后再运行消费者,查看数据
![在这里插入图片描述](https://img-blog.csdnimg.cn/deb811aed1ec4d85bd9803d408bbb262.png)