Windows安装Apache Kafka保姆级详细教程(图文+可视化管理工具)

 更新时间:2025年11月15日 10:29:50   作者:笃行其道  
本文详细介绍了在Windows系统上安装和配置Apache Kafka的步骤,适合初学者,从环境准备到启动服务,再到测试功能和设置为Windows服务,每个步骤都提供了详细的图文教程,最后,还介绍了如何使用KafkaTool进行可视化管理,感兴趣的朋友跟随小编一起看看吧

一、前言

Apache Kafka是一个分布式流处理平台,广泛用于构建实时数据管道和流应用程序。本教程将详细介绍如何在Windows系统上安装和配置Kafka,适合初学者跟随操作。

二、环境准备

2.1 系统要求

  • Windows 7/8/10/11 (64位)
  • 至少4GB内存
  • 至少2GB可用磁盘空间

2.2 安装Java环境

Kafka需要Java 8或更高版本支持。

  1. 访问Oracle官网下载JDK 8或以上版本
  2. 选择Windows版本下载

💡 提示:可以参考这篇博客来安装JDK 8:JDK8保姆级安装教程

三、下载与解压Kafka

3.1 下载Kafka

  1. 访问Kafka官网:https://kafka.apache.org/downloads
  2. 选择最新稳定版本的二进制文件
  3. 推荐下载Scala 2.13版本

⚠️ 注意:本教程使用kafka_2.13-3.5.1版本,该版本自带ZooKeeper。进入官网下载页面后下拉,找到kafka_2.13-3.5.1版本下载。

文件名类似:kafka_2.13-3.5.1.tgz

3.2 解压Kafka

  1. 将下载的文件解压到简单路径,如:C:\kafka
  2. 避免路径中包含空格和中文字符

四、配置Kafka

4.1 目录结构说明

解压后的Kafka目录包含以下重要文件夹:

  • bin/windows/ - Windows批处理脚本
  • config/ - 配置文件
  • libs/ - 依赖库
  • logs/ - 日志文件(启动后生成)

4.2 修改配置文件

编辑server.properties

  1. 进入config目录
  2. 用记事本打开server.properties文件

  1. 修改以下关键配置:
# 数据存储目录(改为Windows路径格式)
log.dirs=C:/kafka/kafka_2.13-3.5.1/kafka-logs
# 监听地址
listeners=PLAINTEXT://localhost:9092
# Zookeeper连接地址
zookeeper.connect=localhost:2181

五、启动Kafka服务

5.1 启动Zookeeper

Kafka依赖Zookeeper进行集群协调。

  1. 打开命令提示符
  2. 切换到Kafka安装目录:
    cd C:\kafka\kafka_2.13-3.5.1
  3. 启动Zookeeper:
    bin\windows\zookeeper-server-start.bat config\zookeeper.properties

看到"binding to port 0.0.0.0/0.0.0.0:2181"表示启动成功。

5.2 启动Kafka服务器

  1. 新开一个命令提示符窗口
  2. 切换到Kafka目录:
    cd C:\kafka\kafka_2.13-3.5.1
  3. 启动Kafka服务器:
    bin\windows\kafka-server-start.bat config\server.properties

5.3 解决wmic命令问题

如果遇到'wmic' 不是内部或外部命令错误,说明wmic不在系统PATH环境变量中。

解决方案一:添加wmic到PATH

  1. 打开文件资源管理器,导航到 C:\Windows\System32\Wbem
  2. 检查是否存在wmic.exe
  3. 如果存在,将该目录添加到PATH环境变量中,不存在的话使用解决方案二:安装wmic工具

添加方式:

  • 打开环境变量设置
  • 在系统变量中找到Path,点击编辑
  • 点击新建,添加:C:\Windows\System32\Wbem

解决方案二:安装wmic工具

如果上述目录中不存在wmic.exe

  1. 进入Windows设置页面
  2. 点击系统可选功能
  3. 点击查看功能
  4. 搜索wmic,勾选后点击下一步
  5. 点击添加,等待安装完成

安装完成后测试:

重新启动Kafka:

看到"started (kafka.server.KafkaServer)"表示启动成功。

六、测试Kafka功能

6.1 创建Topic

  1. 新开第三个命令提示符窗口
  2. 创建测试Topic:
    cd C:\kafka\kafka_2.13-3.5.1
    bin\windows\kafka-topics.bat --create --topic test-topic --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1

6.2 查看Topic列表

bin\windows\kafka-topics.bat --list --bootstrap-server localhost:9092

6.3 测试生产者和消费者

启动消费者:

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

启动生产者(新窗口):

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

在生产者窗口输入消息,消费者窗口应该能实时接收到。

七、设置为Windows服务(可选)

⚠️ 注意:执行此步骤前,请关闭所有之前打开的Zookeeper和Kafka窗口,防止端口占用。

7.1 下载NSSM工具

  1. 下载NSSM(Non-Sucking Service Manager):NSSM官网
  2. 解压到C:\nssm目录

7.2 创建Zookeeper服务

cd C:\nssm\nssm-2.24\win64
nssm install ZookeeperService

在弹出界面中配置:

  • Path: C:\kafka\kafka_2.13-3.5.1\bin\windows\zookeeper-server-start.bat
  • Arguments: C:\kafka\kafka_2.13-3.5.1\config\zookeeper.properties

7.3 创建Kafka服务

nssm install KafkaService

配置参数:

  • Path: C:\kafka\kafka_2.13-3.5.1\bin\windows\kafka-server-start.bat
  • Arguments: C:\kafka\kafka_2.13-3.5.1\config\server.properties

7.4 启动服务

  1. 打开"服务"管理器(Win + R,输入 services.msc)
  2. 找到"ZookeeperService"和"KafkaService"服务
  3. 先启动ZookeeperService,再启动KafkaService
  4. 可设置启动类型为"自动",实现开机自启

八、验证安装

8.1 检查服务状态

cd C:\kafka\kafka_2.13-3.5.1
bin\windows\kafka-broker-api-versions.bat --bootstrap-server localhost:9092

8.2 安装Kafka Tool可视化工具

  1. 访问下载页面:https://www.kafkatool.com/download.html
  2. 下载并安装offsetexplorer_64bit.exe

安装步骤:

  • 双击安装文件
  • 选择"I accept the agreement"
  • 自定义安装目录
  • 完成安装

配置连接:

  1. 启动Kafka Tool
  2. 点击File → Add New Connection
  3. 配置连接参数:
    • Cluster name: Local Kafka
    • Kafka Cluster Version: 3.5
    • Bootstrap servers: localhost:9092
  4. 点击Test测试连接

九、常见问题解决

9.1 端口占用问题

现象: 启动时报错"Address already in use"

解决方案:

# 检查端口占用
netstat -ano | findstr :9092
netstat -ano | findstr :2181

结束占用进程或修改端口配置

9.2 内存不足问题

现象: 启动时内存溢出

解决方案:
修改bin\windows\kafka-server-start.bat文件中的JVM参数:

set "KAFKA_HEAP_OPTS=-Xmx512M -Xms512M"

9.3 路径问题

现象: 找不到文件或目录

解决方案:

  • 确保路径不包含中文和空格
  • 使用正斜杠"/“代替反斜杠”"
  • 检查配置文件中的路径设置

9.4 防火墙问题

现象: 远程无法连接Kafka

解决方案:
在Windows防火墙中开放9092和2181端口

十、总结

通过本教程,我们成功在Windows系统上完成了Apache Kafka的完整安装和配置,包括Java环境准备、Kafka下载解压、配置文件修改、服务启动、功能测试以及可选的Windows服务配置。现在已经拥有了一个完全可用的Kafka环境,可以开始构建实时数据流应用程序,进行消息队列的生产和消费操作。

到此这篇关于Windows安装Apache Kafka保姆级教程(图文详解+可视化管理工具)的文章就介绍到这了,更多相关Windows安装Apache Kafka内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • windows环境下java开发工具maven的安装教程图解

    windows环境下java开发工具maven的安装教程图解

    Maven是一个项目管理和综合工具。Maven提供了开发人员构建一个完整的生命周期框架。这篇文章主要介绍了windows环境下java开发工具maven的安装,非常不错对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • 解决Elasticsearch因jdk版本问题启动失败的问题

    解决Elasticsearch因jdk版本问题启动失败的问题

    这篇文章主要介绍了解决Elasticsearch因jdk版本问题启动失败的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • Java对象的四种引用方式实例分析

    Java对象的四种引用方式实例分析

    这篇文章主要介绍了Java对象的四种引用方式,简单描述了四种引用方式的概念、应用场景并结合实例形式分析了弱引用所引用对象的垃圾回收过程,需要的朋友可以参考下
    2019-08-08
  • SpringBoot项目解决跨域的四种方案分享

    SpringBoot项目解决跨域的四种方案分享

    在用SpringBoot开发后端服务时,我们一般是提供接口给前端使用,但前端通过浏览器调我们接口时,浏览器会有个同源策略的限制,即协议,域名,端口任一不一样时都会导致跨域,这篇文章主要介绍跨域的几种常用解决方案,希望对大家有所帮助
    2023-05-05
  • Java内存溢出(OOM)排查优化指南

    Java内存溢出(OOM)排查优化指南

    OutOfMemoryError,也就是臭名昭著的 OOM(内存溢出),相信很多球友都遇到过,相对于常见的业务异常,如数组越界、空指针等,OOM 问题 更难难定位和解决,本文就给大家介绍了Java内存溢出(OOM)排查优化指南,需要的朋友可以参考下
    2025-05-05
  • 浅谈Spring的两种事务定义方式

    浅谈Spring的两种事务定义方式

    下面小编就为大家带来一篇浅谈Spring的两种事务定义方式。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • Mybatis中的缓存机制解析

    Mybatis中的缓存机制解析

    这篇文章给大家介绍mybatis中的缓存机制,本文结合实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2025-11-11
  • Mybatis高级映射、动态SQL及获得自增主键的解析

    Mybatis高级映射、动态SQL及获得自增主键的解析

    MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis。这篇文章主要介绍了Mybatis高级映射、动态SQL及获得自增主键的相关资料,需要的朋友可以参考下
    2016-11-11
  • SpringBoot中application.properties、application.yaml、application.yml区别

    SpringBoot中application.properties、application.yaml、applicati

    本文主要介绍了SpringBoot中application.properties、application.yaml、application.yml区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-04-04
  • Java访问者模式实现优雅的对象结构处理

    Java访问者模式实现优雅的对象结构处理

    Java访问者模式是一种行为型设计模式,它通过将数据结构和数据操作分离,实现对复杂对象结构的处理。它将数据结构中的每个元素都转换为访问者能够识别的形式,从而使得数据操作可以在不影响数据结构的前提下进行扩展和变化
    2023-04-04

最新评论