当前位置: 首页 > article >正文

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”
'''

 


http://www.kler.cn/news/17081.html

相关文章:

  • Spring Boot参考指南-Spring Boot安装(Maven安装、Gradle安装)
  • Docker compose 常用指令
  • c++ 11标准模板(STL) std::vector (二)
  • 天气预报查询 API 提供个性化的天气服务的设计思路
  • 贪心刷题~
  • AI 时代,提示词便是生产力
  • ChatGPT AI使用成本
  • 【每日随笔】操控人性 ③ ( 懂领导的心思 | 办事的套路 | 管理学与权谋 | 人事谱系 )
  • HDU5552 Bus Routes(分治NTT)
  • 每天一道算法练习题--Day16 第一章 --算法专题 --- ----------哈夫曼编码和游程编码
  • SpringCloud:ElasticSearch之数据同步
  • 【实例展示通俗易懂】SQL中的内外连接、左右连接
  • Vue3+Element Plus环境搭建和一键切换明暗主题的配置
  • 【Latex】有关于Latex tabularray的一些很不错的教程、模板
  • LeetCode周赛复盘(第343场周赛)
  • isNotBlank 和isNotEmpty的区别
  • 网络安全 等级保护 网络设备、安全设备知识点汇总
  • Nachos系统的上下文切换
  • Latex 定理和证明类环境(amsthm)和(ntheorm)的区别
  • 每日一题142——最少操作使数组递增
  • 【Linux超强学习路线图】赶紧收藏学习!
  • 数据库管理-第七十二期 复盘(20230505)
  • 【TCP为什么需要粘包和拆包】
  • LeetCode_双指针_中等_24.两两交换链表中的节点
  • 使用dataFEED OPC Suite将西门子PLC数据转发至REST API
  • FL Studio21没有language选项?如何设置切换中文语言
  • 《论文阅读》开放域对话摘要(长文本|知识嵌入)
  • 《花雕学AI》31:ChatGPT--用关键词/咒语/提示词Prompt激发AI绘画的无限创意!
  • 题目:16版.饲养员喂养动物
  • Mesh形变算法