kafka 学习,笔记
前置条件,需要安装Java
1 去官网下载Kafka安装包
2 将安装解压缩到C盘根目录
3 在cmd命令行窗口进入kafka是根目录
cd c:\kafka_2.12-3.4.0
4 启动zookeeper服务
卡夫卡的运行需要zookeeper的支持,一般来说我们需要安装zookeeper,但是卡夫卡有内置的zookeeper服务,所以在这里,没有额外安装zookeeper。
.\bin\windows\zookeeper-server-start.bat .\config\zookeeper.properties
启动成功的界面。主要,要保持这个窗口一直运行,不可以关闭。
5 打开第二个cmd命令行窗口,进入卡夫卡安装目录
cd c:\kafka_2.12-3.4.0
6 启动卡夫卡服务
.\bin\windows\kafka-server-start.bat .\config\server.properties
7 测试卡夫卡
新建一个cmd命令行窗口,(注意,前面两个cmd窗口不可以关闭)进入卡夫卡的安装目录
cd c:\kafka_2.12-3.4.0
.\bin\windows\kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic topic_test
8 检测7中的命令是否执行成功
.\bin\windows\kafka-topics.bat --list --zookeeper localhost:2181
说明创建topic成功,名称为topic_test
9 创建一个producer来产出消息
.\bin\windows\kafka-console-producer.bat --broker-list localhost:9092 --topic topic_test
i love kafka
10 在新建一个cmd窗口
cd c:\kafka_2.12-2.4.0
.\bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic topic_test --from-beginning
# -*- coding: utf-8 -*-
# ---
# @Software: PyCharm
# @File: kafka_producer01.py
# @Site:
# @Time: Apr 28, 2023
# ---
from kafka import KafkaProducer
# 链接卡夫卡
producer = KafkaProducer(bootstrap_servers='localhost:9092')
# 发送内容,必须是bytes类型
msg = "Hello kafka".encode('utf-8')
# 发送的topic为test
producer.send('test', msg)
producer.close()
# -*- coding: utf-8 -*-
# ---
# @Software: PyCharm
# @File: kafka_consumer01.py
# @Site:
# @Time: Apr 28, 2023
# ---
from kafka import KafkaConsumer
consumer = KafkaConsumer('test', bootstrap_servers=['localhost:9092'], group_id=None, auto_offset_reset='smallest')
for msg in consumer:
recv = "%s:%d:%d:key=%s value=%s" % (msg.topic, msg.partition, msg.offset, msg.key, msg.value)
print(recv)
'''备注
1 启动zookeeper服务和kafka服务,
2 先执行kafka_producer01.py
3 再执行kafka_consumer01.py
4 可以看到屏幕上打印出“Hello kafka”
'''