【Kafka】Windows下安装Kafka(全面)

目录

1.前提条件

2.下载

3.安装

4.环境变量配置

5.验证

1.前提条件

1.先安装zookeeper:

【Zookeeper】Windows下安装Zookeeper(全面)-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/weixin_57259781/article/details/141679454

2.还需要安装scala:

【Scala】Windows下安装Scala(全面)-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/weixin_57259781/article/details/141673648

2.下载

下载链接:

Index of /kafka (apache.org)icon-default.png?t=N7T8https://downloads.apache.org/kafka/选择合适的版本下载.tgz文件:

3.安装

下载的压缩包解压两次得到文件夹:该文件夹的路径也就是kafka的安装路径

在目录下添加一个新的空的文件夹,名字为logs

修改config目录下的配置文件server.properties

修改 log.dirs 参数值,修改成上一步新建的logs文件夹。注意文件夹路径中是双左斜杠

继续在改配置文件中修改listeners 参数的值为:

listeners=PLAINTEXT://localhost:9092

4.启动

因为Kafka依赖于Zookeeper,所以要先启动Zookeeper,再启动Kafka。

4.1启动Zookeeper服务

到zookeeper安装路径下bin目录下双击zkServer.cmd文件:

显示如下信息,则表示Zookeeper服务正常运行:

4.2启动kafka服务

到kafka的安装目录下进入cmd窗口:

输入命令启动kafka:

.\bin\windows\kafka-server-start.bat .\config\server.properties

我的输入命令后报错如下:

报错原因:因为目录层级太深或者是目录名字太长导致的。我们需要把文件夹移动到一个层级浅一点的位置:

我从位置:D:\Users\125715\tools\kafka\kafka\kafka_2.12-3.5.1移动到:D:\Users\125715\tools\kafka\3.5.1,并且修改config目录下的配置文件server.properties中的 log.dirs 参数值

继续重新启动kafka:在命令行输入命令上述命令,出现如下则表示成功:

5.验证

总体思路:创建主题topics,生产者向topics中推送消息,消费者从topics中读取消息。

首先进入自己的kafka安装路径的bin目录下的window目录下,我的安装目录为: D:\Users\125715\tools\kafka\3.5.1\bin\windows

然后我们来了解一下需要用到的几个脚本执行文件:

5.1创建查看topics

命令如下:

#创建topics,--topic后为topic名称,--replication-factor为副本数量,partitions 为分区数量
kafka-topics.bat --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic kafkatest#查看所有的topics
kafka-topics.bat --bootstrap-server localhost:9092 --list

创建主题:在bin目录的windows目录下添加CMD窗口,并输入上述创建topics的命令,如下创建主题kafkatest成功:

查看主题kafkatest:

5.2producer(生产者)发送消息

向刚刚创建的主题kafkatest里面发送消息的命令:

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

向topics为kafkatest中发送消息:

5.3consumer(消费者)消费消息

重新在同一个目录下打开一个新的cmd窗口,并执行如下命令:

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

输入命令后可以查看到接收到消息了,但是是乱码,如果收不到消息,可以仔细查看生产者和消费者对应的topics是否为同一个。如果继续在生产者窗口输入消息,然后回车:

再查看消费者窗口,发现消息很快被消费者消费了:

6.乱码解决永久

打开config目录下的配置文件:

在文件中查找producer.encoding属性,若能找到就设置值为:UTF-8,我的找不到就添加配置:

producer.encoding=UTF-8

如下:

保存文件然后重启kafka:

重启后可查看刚刚创建的topic还存在:

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

虚幻5|技能栏UI优化(2)——优化技能UI并实现技能栏的拖拽操作

这篇文章里,前情提要,文章里的序列变量应命名为序号,我命名错了,虽然不差,但为了后面更好的理解 一.刷新技能栏,用于刷新上一章文章的初始化技能栏 1.打开技能栏格子,打开图表,添加…

【数学建模学习手册】python基本入门使用

本专栏内容为:数学建模原理 记录学习数学建模 💓博主csdn个人主页:小小unicorn ⏩专栏分类:数学建模 🚚代码仓库:小小unicorn的代码仓库🚚 🌹🌹🌹关注我带你学…

Cycle inside Runner; building could produce unreliable results.

报错 Showing Recent Messages Cycle inside Runner; building could produce unreliable results. Cycle details: → Target Runner ○ That command depends on command in Target Runner: script phase “Thin Binary” ○ Target Runner has process command with outpu…

Oracle taf高级特性使用

0、taf介绍 TAF是Oracle数据库提供的一个高级特性,旨在实现应用程序在数据库连接中断时的透明重连。它允许应用程序在数据库故障发生时,无需修改代码或手动干预,就能自动连接到新的数据库实例,保证了事务的连续性和应用的高可用性…

Python编码—掌握Python与Kubernetes:构建高效微服务架构

🌟🌟 欢迎来到我的技术小筑,一个专为技术探索者打造的交流空间。在这里,我们不仅分享代码的智慧,还探讨技术的深度与广度。无论您是资深开发者还是技术新手,这里都有一片属于您的天空。让我们在知识的海洋中…

开源搜索引擎之Solr

Apache Solr 是一个开源的企业级搜索平台,构建在 Apache Lucene 之上,提供了强大的全文搜索、实时索引和分布式搜索能力。Solr 被广泛用于构建高性能的搜索应用程序,支持从简单的搜索引擎到复杂的数据分析平台等多种场景。以下是对 Apache So…

Linux学习笔记(4)----Debian压力测试方法

使用命令行终端压力测试需要两个实用工具:s-tui和stress sudo apt install s-tui stress 安装完成后,在终端中启动 s-tui实用工具: s-tui 执行后如下图: 你可以使用鼠标或键盘箭头键浏览菜单,然后点击“压力选项(Str…

类在JVM中的工作原理

文章目录 引言I 类在JVM中的工作原理class文件的结构类的生命周期II JVM运行时数据区堆栈的意义栈帧内部结构堆III 在JIT中比较常见的优化手段引言 类是一种抽象概念,它是一种模板,用来定义一类事物的属性和行为。类是面向对象编程的基础,它是一种抽象的概念,代表一类事物…

科技赋能 重塑未来医疗丨共谋医疗信息化新方向,2024东北医院信息网络大会圆满落幕!

近年来,随着我国医疗行业信息化的飞跃式发展,医疗信息化已经成为推动医疗行业高质量发展的重要力量之一。自2021年国家卫健委、中医药管理局联合印发《公立医院高质量发展促进行动(2021-2025年)》以来,各医疗机构将建设…

Ant Design Vue中Modal.confirm无法自动关闭

温馨tips:着急看解决方法可跳过碎碎念~ 前两天经理扔给我一个问题:“这个弹窗怎么关不上了?” 我怀着无所谓的心态:小意思啦,5分钟之内解决完~ …当然flag是不能随便乱立的 拉下来项目(原神启动(不是&…

商家推广怎么利用C#发送视频短信

视频短信,这一融合了视频、音频与文本的创新通信方式,不仅革新了传统短信的单一形式,更以其独特的魅力带领着移动通信的新风尚。它以移动视频格式为载体,实现了信息传输的多元化,为用户带来不一样的通信体验。 支持免费…

layui栅格布局设置列间距不起作用

layui栅格布局支持设置列间距,只需使用预置类layui-col-space*即可。不过实际使用时却始终看不到效果。   根据layui官网文档的说明,只需要在行所在div元素的class属性中增加layui-col-space*即可出现列间距。如下图所示:   但是实际使用…

2024 年顶级 Flutter UI 框架和库

根据 2022 年 StackOverflow 调查显示,Flutter 是最受欢迎的跨平台工具之一。自发布以来的 16 个月内,已有超过 200 万开发者采用了 Flutter。在本博客中,我们将浏览 GitHub 上可用的顶级 Flutter 存储库。除了每个存储库之外,还提…

Navicat Lite导入为SQL,然后到服务器的SQLServer Management 里执行时,报各种错误,是文件的Encoding不一致导致的解决

1、好多时候,本地的操作系统与服务器的操作系统不一致,有的时候也是历史原因,我们不得不用老旧的版本的数据库,比如 SQLServer 2008R2的数据库系统。 2、然后本地因为操作系统是win11的,导致这个SQLServer 2008R2根本…

萤石云 C++ SDK使用指南

今天继续指南系列,给出了萤石云QtDemo配置使用以及sdk开发中常见问题的指南 SDK下载 一、demo使用配置 1、demo环境配置 Demo 所使用Qt SDK版本:Qt4.8.5 Demo两种开发模式: 下载Qt Creator for Windows,使用Qt Creator作为I…

USR-DR134有人网关如何对接到ThingsPanel

本指南将帮助您使用有人口红串口服务器USR-DR134/USR-DR132将断路器接入ThingsPanel平台。这款创新的超小体积导轨式单串口服务器能够实现RS485/RS232转以太网的双向透传功能,是连接断路器与物联网平台的理想选择。 设备介绍: 口红串口服务器USR-DR134…

解析 uni-app 小程序分包策略:合理优化包体积分布

引言 微信小程序的流行使得越来越多的开发者投入到小程序的开发中。但是,随着项目规模的增大,小程序的性能也会面临一些挑战。其中,小程序分包策略是提升性能的重要一环。 同时,uni-app 的流行也使众多的移动端开发者选择使用 u…

零基础入门转录组数据分析——单基因ROC分析

零基础入门转录组数据分析——单基因ROC分析 目录 零基础入门转录组数据分析——单基因ROC分析1. ROC分析的基础知识2. 单基因ROC分析(Rstudio)——代码实操2. 1 数据处理2. 2 单基因ROC分析2. 3 ROC曲线简单可视化 1. ROC分析的基础知识 1.1 ROC分析是…

如何在忘记密码或 ID 的情况下解锁 iPhone 15

您是否曾经因为忘记了 iPhone 密码而陷入困境,或者您是否多次错误地输入了屏幕时间密码并发现自己被锁定在 iPhone 之外? 被锁定和拒绝访问您的 iPhone 可能很常见,尤其是在您尚未配置 Face ID 的情况下。或者,如果 Face ID 无法正…

在head的style标签中直接添加css样式

<!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta name"viewport" content"widthdevice-width, initial-scale1.0"> <title>内嵌样式示例</title> &l…