Kafka下载和使用(Windows版)

Apache Kafka 是一个高吞吐量的分布式消息系统,广泛应用于日志收集、实时流处理等场景。本文将以 Windows 系统为例,详细介绍 Kafka 的安装和使用方法。

一、安装方式

在 Windows 系统上运行 Apache Kafka,通常有两种方式:

1.WSL

使用 Windows 上的 WSL(Windows Subsystem for Linux),即在 Windows 中运行 Linux 环境来启动 Kafka。

 2.直接运行

直接在 Windows 上运行 Kafka。

本文介绍的是直接在 Windows 上运行 Kafka 的方式。

二、下载和配置Zookeeper(可选)

Kafka 依赖 ZooKeeper 来进行集群管理,除非您使用的是 KRaft 模式(从 Kafka 2.8.0 起开始支持)。以下是下载和配置 ZooKeeper 的步骤:

1.下载地址

Apache ZooKeeper

2.下载示例

3.解压

下载完成后,解压下载的 .tar.gz 或 .zip 文件到一个自定义目录。

例如: D:\JAVA\zookeeper\zookeeper-3.9.3

4.配置

(1)在解压后的 ZooKeeper 目录中,找到 conf 文件夹。

(2)复制 zoo_sample.cfg 配置文件,并将其重命名为 zoo.cfg

(3)打开 zoo.cfg 文件,修改以下配置:

dataDir:指定 ZooKeeper 存储数据的目录。

clientPort:指定 ZooKeeper 客户端连接的端口(默认是 2181)。

(4)配置示例:

dataDir=D:/JAVA/zookeeper/data

clientPort=2181

5.配置环境变量(可选)

为了在命令行中方便地运行 ZooKeeper,您可以将 ZooKeeper 的 bin 目录添加到系统的 PATH 环境变量中:

(1)右键点击 此电脑,选择 属性

(2)点击 高级系统设置,然后选择 环境变量

(3)在 系统变量 部分找到 Path,点击 编辑

(4)添加 ZooKeeper bin 目录的路径(例如:D:\JAVA\zookeeper\zookeeper-3.9.3\bin)。

(5)保存更改并关闭所有窗口。

三、下载和配置Kafka

1.下载地址

Apache Kafka

2.下载页面

注意:下载 Kafka 二进制文件版。

3.解压

下载完成后,解压下载的 .tar.gz 或 .zip 文件到一个自定义目录。

例如: D:\JAVA\kafka3.8.0

4.配置

(1)打开 config/server.properties 文件,进行如下修改:

log.dirs:指定 Kafka 存储日志的目录(建议自行创建该目录)。

zookeeper.connect:指定 ZooKeeper 的连接地址,默认是 localhost:2181

listeners:指定端口访问 Kafka,默认是 PLAINTEXT://:9092

(2)配置示例

log.dirs=D:/JAVA/mq/kafka/logs

zookeeper.connect=localhost:2181
 

listeners=PLAINTEXT://localhost:9092

5.配置环境变量(可选)

为了方便在命令行中运行 Kafka,您可以将 Kafka 的 bin/windows 目录添加到系统的 PATH 环境变量中:

(1)右键点击 此电脑,选择 属性

(2)点击 高级系统设置,然后选择 环境变量

(3)在 系统变量 部分找到 Path,点击 编辑

(4)添加 Kafka bin/windows 目录的路径(例如:D:\JAVA\kafka3.8.0\bin\windows)。

(5)保存更改并关闭所有窗口。

四、启动ZooKeeper

(1)打开 命令提示符(CMD)

(2)进入 ZooKeeper 的 bin 目录

cd D:\JAVA\zookeeper\zookeeper-3.9.3\bin

(3)启动 ZooKeeper

使用 zkServer.cmd 启动 ZooKeeper:

zkServer.cmd

(4)启动成功

(5)停止 ZooKeeper

zkServer.cmd stop

五、启动Kafka

(1)打开 另一个 命令提示符(CMD)窗口

(2)进入 Kafka 解压目录的 bin\windows 目录

cd D:\JAVA\kafka3.8.0\bin\windows

(3)启动 Kafka

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

(4)启动成功信息

(5)停止 Kafka

在命令提示符窗口中,按 Ctrl + C 停止 Kafka 服务。

六、测试Kafka功能

(1)打开 第三个命令提示符(CMD)窗口

(2)进入 Kafka 解压目录的 bin\windows 目录

cd D:\JAVA\kafka3.8.0\bin\windows

(3)创建一个 Kafka 主题(例如,创建 test 主题)

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

(4)列出当前的 Kafka 主题

kafka-topics.bat --list --bootstrap-server localhost:9092

(5)发送消息到 Kafka 的 test 主题

可以输入消息,按 Enter 发送。

kafka-console-producer.bat --topic test --bootstrap-server localhost:9092

(6)消费消息

打开 第四个命令提示符(CMD)窗口,输入以下命令:

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

七、注意事项

1.安装路径

尽可能使用简短的安装路径。

2.端口问题

确保 Kafka 所需的端口(默认是 9092)没有被其他程序占用。

3.KRaft

在生产环境中,KRaft 模式还处于逐步推广阶段,建议先在开发环境中测试。

八、总结

Kafka 是一个强大且高度可扩展的消息队列系统,适合于大规模的数据流处理。安装和使用 Kafka 比较直接,但要想在生产环境中实现高可用性和扩展性,还需要考虑集群部署、监控和容错等问题。

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

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

相关文章

RBAC的使用

1、简述RBAC的作用及工作流程 Rbac基于角色访问控制,用于管理用户对集群资源的访问权限,通过定义角色和绑定规则,将用户与权限进行关联,作用:权限精细化管理,操作便捷与统一管理,动态调整权限。…

【2025年泰迪杯数据挖掘挑战赛】A题 数据分析+问题建模与求解+Python代码直接分享

目录 2025年泰迪杯数据挖掘挑战赛A题完整论文:建模与求解Python代码1问题一的思路与求解1.1 问题一的思路1.1.1对统计数据进行必要说明:1.1.2统计流程:1.1.3特殊情况的考虑: 1.2 问题一的求解1.2.1代码实现1.2.2 问题一结果代码分…

Ethan独立开发产品日报 | 2025-04-18

1. Wiza Monitor 跟踪工作变动,并获取 Slack 和电子邮件通知。 Wiza Monitor是一款工作变动跟踪工具,可以实时追踪客户和潜在客户的职位变动,您还能通过电子邮件和Slack接收提醒,并自动更新您的客户关系管理系统(CRM…

【工具变量】A股上市公司信息披露质量KV指数测算数据集(含do代码 1991-2024年)

KV指数(Key Value Index)作为评估信息披露质量的关键指标,在证券市场,尤其是A股市场上市公司信息披露监管与评估中占据重要地位。该指数通过系统化、定量化的方法,对企业发布的信息进行全面剖析与打分,精准…

【java实现+4种变体完整例子】排序算法中【基数排序】的详细解析,包含基础实现、常见变体的完整代码示例,以及各变体的对比表格

基数排序详解及代码示例 基数排序原理 基数排序通过处理每一位数字进行排序,分为 LSD(最低位优先) 和 MSD(最高位优先) 两种方式。核心步骤: 确定最大值:计算数组中最大数的位数。逐位排序&am…

服务治理-服务发现和负载均衡

第一步:引入依赖 第二步:配置地址 改写购物车服务的代码 负载均衡成功实现。 假如有一个服务挂了,比如说8081,cart-service能不能正常访问,感知到。 再重新启动8081端口。 不管服务宕机也好,还是服务刚启动…

专题十六:虚拟路由冗余协议——VRRP

一、VRRP简介 VRRP(Virtual Router Redundancy Protocol)虚拟路由冗余协议通过把几台设备联合组成一台虚拟的设备,使用一定的机制保证当主机的下一跳设备出现故障时,及时将业务切换到备份设备,从而保持通讯的连续性和…

UE5 关卡序列

文章目录 介绍创建一个关卡序列编辑动画添加一个物体编辑动画时间轴显示秒而不是帧时间轴跳转到一个确定的时间时间轴的显示范围更改关键帧的动画插值方式操作多个关键帧 播放动画 介绍 类似于Unity的Animation动画,可以用来录制场景中物体的动画 创建一个关卡序列…

openbmb/MiniCPM-V-2_6 和 AIDC-AI/Ovis2-1B 的网络结构体对比

openbmb/MiniCPM-V-2_6和Ovis2作为多模态大模型,在架构设计上既有共性也有显著差异。以下从核心模块、技术实现和任务适配三个维度展开对比分析: 一、核心模块架构对比 1. 视觉编码器 MiniCPM-V-2_6: 架构:基于SigLIP-400M轻量级…

鸿蒙学习笔记(5)-HTTP请求数据

一、Http请求数据 http模块是鸿蒙内置的一个模块,提供了网络请求的能力。不需要再写比较原始的AJAS代码。 ps:在项目中如果要访问网络资源,不管是图片文件还是网络请求,必须给项目开放权限。 (1)网络连接方式 HTTP数…

使用Redis5.X部署一个集群

文章目录 1.用Redis5.x来创建Cluste2. 查看节点信息 nodes3. 添加节点 add-node4.删除节点 del-node5.手动指定从节点 replicate6.检查集群健康状态 check 建议使用5.x版本。 首先,下载Redis,根据自己的环境选择版本。 一键启动Redis集群文件配置。 ech…

实现窗口函数

java 实现窗口函数 public class SlidingWin {public static void main(String[] args) {SlidingWin slidingWin = new SlidingWin();double v = slidingWin.SlidWin(2);System.out.println(v);}public double SlidWin(int k){int [] array =new int[]{2,4,5,6,9,10,12,23,1,…

Docker Compose 命令实现动态构建和部署

Docker Compose 命令实现动态构建和部署 一、编写支持动态版本号的 docker-compose.yml version: 3.8services:myapp:build: context: . # Dockerfile所在目录args:APP_VERSION: ${TAG:-latest} # 从环境变量获取版本号,默认latestimage: myapp:${TAG:-latest} …

AI时代下 你需要和想要了解的英文缩写含义

在AI智能时代下,越来愈多的企业都开始重视并应用以及开发AI相关产品,这个时候都会或多或少的涉及到英文,英文还好,但是如果是缩写,如果我们没有提前了解过,我们往往很难以快速Get到对方的意思。在这里&…

聊聊Doris的数据模型,如何用结构化设计解决实时分析难题

传统 OLAP 系统的局限 在大数据实时分析领域,数据模型设计直接决定了系统的查询性能、存储效率与业务适配性。Apache Doris作为新一代MPP分析型数据库,通过独创的多模型融合架构,在业内率先实现了"一份数据支持多种分析范式"的能力…

基于vue框架的点餐系统设计及实现w93q6(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。

系统程序文件列表 项目功能:用户,菜品分类,菜品信息,配送员,订单信息,配送进度,评价记录 开题报告内容 基于 Vue 框架的点餐系统设计及实现开题报告 一、研究背景与意义 (一)研究背景 在当今快节奏的生活中,网上订餐已成为人…

LeetCode 2563.统计公平数对的数目:排序 + 二分查找

【LetMeFly】2563.统计公平数对的数目:排序 二分查找 力扣题目链接:https://leetcode.cn/problems/count-the-number-of-fair-pairs/ 给你一个下标从 0 开始、长度为 n 的整数数组 nums ,和两个整数 lower 和 upper ,返回 公平…

CF1016赛后总结

文章目录 前言T1:Ideal GeneratorT2:Expensive NumberT3:Simple RepetitionT4:Skibidi TableT5:Min Max MEXT6:Hackers and Neural NetworksT7:Shorten the Array 前言 由于最近在半期考试,更新稍微晚了一点,还望大家见谅 &#…

HFSS3(limy)——建模学习记录

前言——笔者使用的是21版HFSS 1.基本模型 为什么没有环形的天线 2.创建基本模型方法 常用:先粗略建好模型再编辑输入准确坐标和大小尺寸(这里长方体起始点是左上角下方的点,也就是说要输入模型起点相对于坐标原点的位置尺寸就可以确定具体…

API网关的作用?企业如何应用API网关?

一、API网关的用处 API网关我的分析中会用到以下三种场景。 1、Open API 企业需要将自身数据、能力等作为开发平台向外开放,通常会以rest的方式向外提供。最好的例子就是淘宝开放平台、腾讯公司的QQ开发平台、微信开放平台。 Open API开放平台必然涉及到客户应用…