kafka入门教程,介绍全面

news2025/7/21 1:59:26

1、官网下载最新版本的kafka,里面已经集成zookeeper。直接解压到D盘

2、配置文件修改,config目录下面的zookeeper.properties.   设置zookeeper数据目录

dataDir=D:/kafka_2.12-3.6.0/tmp/zookeeper

3、修改kafka的配置文件server.properties.   主要修改内容如下:

zookeeper.connect=localhost:2181

log.dirs=D:\\kafka_2.12-3.6.0\\logs

listeners=PLAINTEXT://localhost:9092

其他默认即可。

4、修改完成后进入bin目录:启动zookeeper和kafka,命令如下

zookeeper-server-start.bat ../../config/zookeeper.properties

kafka-server-start.bat ../../config/server.properties

5、命令行创建topic,命令如下:

kafka-topics.bat --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic hello

6、创建生产者和消费者,测试。生产者输入消息,消费者就会收到相应的消息了 

kafka-console-producer.bat --broker-list localhost:9092 --topic hello

kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic hello--from-beginning

7、创建springboot工程,测试

引入依赖:

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>

<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId>
</dependency>

8、yml文件配置kafka

spring:
kafka:
bootstrap-servers: localhost:9092
producer:
acks: 1
retries: 3
batch-size: 16384
properties:
linger:
ms: 0
buffer-memory: 33554432
key-serializer: org.apache.kafka.common.serialization.StringSerializer
value-serializer: org.apache.kafka.common.serialization.StringSerializer
consumer:
group-id: helloGroup
enable-auto-commit: false
auto-commit-interval: 1000
auto-offset-reset: latest
properties:
request:
timeout:
ms: 18000
session:
timeout:
ms: 12000
key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
value-deserializer: org.apache.kafka.common.serialization.StringDeserializer

9、使用springboot    KafkaTemplate发送消息

@RequestMapping(value = "/sendMessage", method = RequestMethod.GET)
public String sendMessage(String message) {
kafkaTemplate.send("hello", message);

return "发送成功~";
}

10、消息消费,


@KafkaListener(topics = "hello")
public void receiveMessage(ConsumerRecord<String, String> record) {
String topic = record.topic();
long offset = record.offset();
int partition = record.partition();
String message = record.value();

System.out.println("topic = " + topic);
System.out.println("offset = " + offset);
System.out.println("partition = " + partition);
System.out.println("message = " + message);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1157250.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数模竞赛那么累,究竟能给我带来什么?

国赛官网上有这么一句话&#xff1a;一次参赛&#xff0c;终生受益。 学生时代&#xff0c;我对这句话没啥感触。 因为刚开始学数模时感觉很没头绪&#xff0c;书也看不懂&#xff0c;论文也看不懂&#xff0c;看啥都看不懂。 比赛时题目看不懂&#xff0c;答案搜不到&#xf…

百度小程序DIY小程序源码系统+轻松创建百度小程序,实现个性化功能 带完整的搭建教程

在现在大环境的影响下&#xff0c;小程序已经成为人们日常生活中不可或缺的一部分。百度小程序作为国内领先的小程序平台之一&#xff0c;为广大开发者提供了丰富的开发资源和工具。今天源码小编就来给大家分享一款百度小程序DIY小程序源码系统。百度小程序DIY小程序源码系统是…

共享WIFI贴码怎么推广?快速地推技巧揭秘!

在如今高度互联网化的社会中&#xff0c;共享WIFI已经成为人们生活中不可或缺的一部分。然而&#xff0c;创业者想要让自己代理加盟的共享WIFI贴码&#xff0c;获得更多用户和增加收益&#xff0c;就需要进行有效的推广。那么&#xff0c;共享WIFI贴码该如何推广呢&#xff1f;…

pycharm安装教程-pycharm安装详细步骤(Mac版)

之前跟大家讲了怎么安装Python&#xff0c;这期跟大家介绍个很好用的编程工具–pycharm。 PyCharm是一种Python IDE&#xff0c;带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具&#xff0c;比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单…

cut 命令

cut [选项参数] filename #默认分隔符是制表符 选项参数&#xff1a; -d delimiter 分隔符 -f field 场地、领域&#xff08;第几列&#xff09; 命令使用&#xff1a; cut -d " " -f 1 cut.txt #空格为分隔符截取第1列cut -d " " -f 2,3 cut.txt #截…

众和策略可靠吗?神奇成交量指标公式?

可靠 独特成交量方针公式是出资者们广泛运用的技能方针之一&#xff0c;用于衡量股票交易中的成交量活跃度以及商场心境。在这篇文章中&#xff0c;我们将从多个视点剖析独特成交量方针公式的含义、核算办法、运用场景以及留心事项。 首要&#xff0c;我们需求了解独特成交量…

Google浏览器无法打开设置

文章目录 开启沙箱模式Google重命名 开启沙箱模式 前面有一个空格要注意 --no-sandboxGoogle重命名 其他地方记得同步修改

pyinstaller 含有ultralytics库的代码时候无法打开exe文件,资源文件太多就是个坑。函数内部import库直接打包失败。dll缺失如何解决。

1 问题&#xff1a;基于yolov8开发一个功能&#xff0c;结果打包出现了问题。就是打包完了不是这个包找不到就是那个库找不到。 首先必须要说一下类似yolov8这样子的库&#xff0c;其中包含很多yaml文件&#xff0c;包含文档的路径&#xff0c;这个其实就是个坑。如果你经常打…

2023-ICLR-Adaptive Budget Allocation for Parameter-Efficient Fine-Tuning

2023-ICLR-Adaptive Budget Allocation for Parameter-Efficient Fine-Tuning Paper:https://openreview.net/forum?idlq62uWRJjiY Code:https://github.com/QingruZhang/AdaLoRA 自适应计算分配&#xff0c;实现参数高效微调 为了实现动态地调节Lora的rank的大小&#xff0…

微信小程序去掉Button自带边框

前言 微信button自带边框 去掉边框后效果 实现 html代码 <view><button class"contactBtn" open-type"contact" contact"handleContact"session-from"sessionFrom">意见反馈</button> </view>css代码 …

Stable Diffusion WebUI扩展openpose-editor如何使用

先上地址: GitHub - fkunn1326/openpose-editor: Openpose Editor for AUTOMATIC1111s stable-diffusion-webuiOpenpose Editor for AUTOMATIC1111s stable-diffusion-webui - GitHub - fkunn1326/openpose-editor: Openpose Editor for AUTOMATIC1111s stable-diffusion-webu…

HUMAN TOMATO: T EXT - ALIGNED WHOLE-BODY MOTION GENERATION(2023.10.19)

文章目录 AbstractIntroduction现有工作的不足为了解决上述问题主要贡献 Methodology&#xff08;方法论&#xff09;PROBLEM FORMULATION&#xff08;问题公式化&#xff09;LEARNING DISCRETE WHOLE - BODY REPRESENTATIONS&#xff08;学习离散的全身表征&#xff09;Vanill…

视频平台跨网级联视频压缩解决方案

一、 简介 视频监控领域对带宽有着较大的需求&#xff0c;这是因为视频流需要实时占用网络带宽资源。视频监控的传输带宽是组网结构的基础保障&#xff0c;关系到视频监控的稳定性、可靠性和可拓展性等因素。例如&#xff0c;720P的视频格式每路摄像头的比特率为2Mbps&#xff…

杂记 | 使用numpy计算欧氏距离和马氏距离示例

文章目录 一、欧氏距离与马氏距离二、使用numpy计算欧氏距离三、使用numpy计算马氏距离 一、欧氏距离与马氏距离 这里引用GPT4的回答&#xff1a; 二、使用numpy计算欧氏距离 import numpy as npp1 [1, 2, 3] p2 [4, 5, 6] point1 np.array(p1) point2 np.array(p2)euc…

金山文档轻维表做数据库结合油猴脚本检索

脚本里面新建查询脚本&#xff08;记录脚本webhook和脚本令牌&#xff09; const records Application.Record.GetRecords({ SheetId: 1 }) console.log(records.records) return {data: records.records, } 油猴脚本 // UserScript // name 油猴辅助器 // namespa…

【备忘录】SpringBoot+ dynamic-datasource配置自定义多数据源

一、 业务场景解释 由于公司业务需要开发设计一款文件读取导入工具&#xff0c;导入的配置和目标数据库并不一定在同一个数据库地址&#xff0c;故需要使用到自定义数据源&#xff0c;并且支持数据源切换 大致场景如下&#xff1a; 二、工具选择 鉴于市面上有很多工具&#…

Leetcode刷题详解——计算布尔二叉树的值

1. 题目链接&#xff1a;2331. 计算布尔二叉树的值 2. 题目描述&#xff1a; 给你一棵 完整二叉树 的根&#xff0c;这棵树有以下特征&#xff1a; 叶子节点 要么值为 0 要么值为 1 &#xff0c;其中 0 表示 False &#xff0c;1 表示 True 。非叶子节点 要么值为 2 要么值为 …

【进程】利用 Linux 下的 /proc/pid/ 的内容学习进程

1. 进程号 在计算机中&#xff0c;每一个进程都有一个进程号&#xff0c;进程号类似于一个索引&#xff0c;操作系统就是通过这个进程号快速地找到进程。在 linux 使用 ps -aux 查看进程&#xff0c;可以看到进程号pid&#xff1a; rootswd-Lenovo-G40-80:/proc/4234# ps -au…

建站起步-如何选择域名

如何选择合适的域名 如何选择合适的域名 我们所看到的网站是由域名加空间服务器加网站程序组成的,往往我们用户最先看到的就是网站的域名,因为网站内容加载往往需要时间,所以最先展示的就是我们网站的域名了。域名就跟我们手机号一样具有唯一性,当我们没有及时续费时,就…

LibTorch实战三:C++版本YOLOV5.4的部署

目录 一、环境配置 二、.torchscript.pt版本模型导出 三、C版本yolov5.4实现 四、问题记录 4.1、注释 detector.h中&#xff0c;注释如下头文件 4.2、错误&#xff1a; “std”: 不明确的符号 4.3、建议常被debug版本libtorch 4.4、问题&#xff1a;编译成功后&#xff…