Windows OS上安装运行Apache Kafka教程

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
注册配置 MSE Nacos/ZooKeeper,118元/月
任务调度 XXL-JOB 版免费试用,400 元额度,开发版规格
简介:

下面是分步指南,教你如何在Windows OS上安装运行Apache Zookeeper和Apache Kafka。

简介

本文讲述了如何在Windows OS上配置并启动Apache Kafka,这篇指南将会指导你安装Java和Apache Zookeeper。 
Apache Kafka是一个快速可扩展的消息队列,能够应对繁重的读写负载,即IO相关工作。更多信息请参见http://kafka.apache.org。由于Zookeeper能提供可靠的分布式协调服务,Apache Kafka需要运行一个Zookeeper实例。更多Zookeeper的相关信息请查看https://zookeeper.apache.org/

关于在Windows安装Kafka的具体步骤,可以查看这个视频:https://youtu.be/OJKesEpO6ok

下载所需文件

针对此教程,我们将Zookeeper与Kafka解压到C盘,不过也可以选择其他位置。这里我们要使用完全的zookeeper,而不是用Kafka打包的那个,因为这是一个单节点的Zookeeper实例。也可以运行打包了zookeeper的Kafka,位置在\kafka\bin\windows库中。

安装

A. JDK安装

1.启动JRE安装,选中复选框“修改目标路径”,然后点击安装。

图片描述

2.修改安装目录,文件夹名称中不能有空格,例如:C:\Java\jre1.8.0_xx\(默认情况下是C:\Program Files\Java\jre1.8.0_xx),然后点击下一步。 
3.现在点击控制面板->系统->高级系统设置->环境变量,打开系统环境变量对话框。 
4.点击用户变量中的新用户变量按钮,然后在变量名称那里输入JAVA_HOME,并将自定义的jre路径填入变量值。如下图所示:

图片描述

Java路径与版本可能会根据所使用Kafka的版本而有所改变


5.现在点击ok。 
6.刚才打开的“环境变量“对话框中有“系统变量”一栏,在其中寻找路径变量。 
7.编辑路径与类型“;%JAVA_HOME%\bin”,如下图:

图片描述

8.确认Java安装打开cmd,输入类型“java –version”,应该能够看到刚刚安装的java版本。

图片描述

如果命令行提示与上图类似,请继续。否则,需要重新检查安装版本是否与OS架构匹配(x86, x64),以及环境变量路径是否正确。

B. Zookeeper安装

1.进入Zookeeper设置目录,比如C:\zookeeper-3.4.7\conf 
2. 将“zoo_sample.cfg”重命名为“zoo.cfg”。 
3. 在任意文本编辑器(如notepad)中打开zoo.cfg,我个人更喜欢notepad++。 
4. 找到并编辑dataDir=/tmp/zookeeper to :\zookeeper-3.4.7\data 
5. 与Java中的做法类似,我们在系统环境变量中添加: 
a. 在系统变量中添加ZOOKEEPER_HOME = C:\zookeeper-3.4.7 
b. 编辑系统变量,命名为路径 System Variable%ZOOKEEPER_HOME%\bin; 
6. 在zoo.cfg文件中修改默认的Zookeeper端口(默认端口2181)。 
7. 打开新的cmd,输入zkserver,运行Zookeeper。 
8. 命令行提示如下:

图片描述

恭喜,Zookeeper已经完成并在端口2181运行。

C. 安装Kafka

1. 进入Kafka配置目录,例如C:\kafka_2.11-0.9.0.0\config 
2. 编辑文件“server.properties” 
3. 找到并编辑“log.dirs=/tmp/kafka-logs” to “log.dir= C:\kafka_2.11-0.9.0.0\kafka-logs” 
4. 如果Zookeeper在某些其他的机器或集群上运行,可以将“zookeeper.connect:2181”修改为自定义IP与端口。在这个演示中我们使用了同一个机器,因此没必要做修改。文件中的Kafka端口和broker.id也是可以配置的。其他设置不变。 
5. Kafka会按照默认,在9092端口上运行,并连接zookeeper的默认端口:2181。

D. 运行Kafka服务器

重要:请确保在启动Kafka服务器前,Zookeeper实例已经准备好并开始运行。

1.进入Kafka安装目录C:\kafka_2.11-0.9.0.0\ 
2.按下Shift+右键,选择“打开命令窗口”选项,打开命令行。 
3.现在输入.\bin\windows\kafka-server-start.bat .\config\server.properties 并回车。

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

图片描述

4.如果一切正常,命令行应当是这样:

图片描述

5.现在Kafka已经准备好并开始运行,可以创建主题来存储消息了。我们也能从Java/Scala代码中,或直接从命令行中生成或使用数据。

E. 创建主题

1. 现在创建主题,命名为“test”,replication factor=1(因为只有1个Kafka服务器在运行)。如果集群中所运行的Kafka服务器不止1个,可以相应增加replication-factor,从而提高数据可用性和系统容错性。 
2. 在C:\kafka_2.11-0.9.0.0\bin\windows打开新的命令行。 
3. 输入下面的命令,回车:

kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

图片描述

F. 创建Producer及Consumer来测试服务器。

1.在C:\kafka_2.11-0.9.0.0\bin\windows打开新的命令行。 
2.输入以下命令,启动producer:

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

3.在同样的位置C:\kafka_2.11-0.9.0.0\bin\windows再次打开新的命令行。 
4.现在输入下列命令启动consumer:

kafka-console-consumer.bat --zookeeper localhost:2181 --topic test

5.现在有两个命令行窗口,如下图:

图片描述

6.在producer命令行中任意输入内容,回车;在其他consumer命令行中能看到相应消息。

图片描述

7.如果能够将消息推送到consumer端并显示出来的话,Kafka安装就完成了。

一些有用的命令

1.列出主题:kafka-topics.bat –list –zookeeper localhost:2181 
2.描述主题:kafka-topics.bat –describe –zookeeper localhost:2181 –topic [Topic Name] 
3.从头读取消息:kafka-console-consumer.bat –zookeeper localhost:2181 –topic [Topic Name] –from-beginning 
4.删除主题:kafka-run-class.bat kafka.admin.TopicCommand –delete –topic [topic_to_delete] –zookeeper localhost:2181

原文地址:Setting Up and Running Apache Kafka on Windows OS 
文章作者:Gopal Tiwari 
译者:孙薇 
责编:仲浩



一个 问题:zookeeper 启动报错 JAVA_HOME is not set

启动 zkServer.cmd 一直报错 JAVA_HOME is not set

看了一下环境变量,没问题

JAVA_HOME=C:\Program Files\Java\jdk1.7.0_79


最后发现是路径空格的问题


然后修改zkEnv.cmd文件如下

  1. set JAVA_HOME="C:\Program Files\Java\jdk1.7.0_79"   

  2.   

  3.   

  4. if not defined JAVA_HOME (  

  5.   echo Error: JAVA_HOME is not set.  

  6.   goto :eof  

  7. )  

  8.   

  9. if not exist %JAVA_HOME%\bin\java.exe (  

  10.   echo Error: JAVA_HOME is incorrectly set.  

  11.   goto :eof  

  12. )  

  13.   

  14. set JAVA=%JAVA_HOME%\bin\java  










本文转自 yuanzhitang 51CTO博客,原文链接:http://blog.51cto.com/yuanzhitang/1934901,如需转载请自行联系原作者
目录
相关文章
|
1月前
|
运维 自然语言处理 Linux
os-copilot安装和使用体验测评
OS Copilot是阿里云推出的操作系统智能助手,基于大模型技术,支持自然语言问答、命令执行和系统运维调优等功能,帮助用户更高效地使用Linux系统。本文介绍了OS Copilot的产品优势、功能特点及使用方法,包括对话模式、-t/-f/管道等参数的使用,以及安装和配置步骤。通过OS Copilot,用户可以简化复杂命令的操作,提升工作效率。同时,文中也分享了个人开发者在实际使用中的体验和建议,指出了一些有待改进的地方。
|
1月前
|
存储 弹性计算 NoSQL
os-copilot安装与多项功能测评
本文介绍了os-copilot的安装及多项功能测评。首先,通过xShell连接服务器并使用`rpm -q os-copilot`检查是否已安装,若未安装则用`yum install`命令安装。接着,配置ACCESS_KEY信息以连接阿里云服务。深入测试部分展示了-t参数用于环境健康检查、-f参数处理复杂任务、|参数解释代码等功能,还演示了编写shell脚本创建和启动Redis的便捷性。这些功能对基础运维和开发人员有较大帮助。
124 13
|
29天前
|
运维 关系型数据库 MySQL
os-copilot安装_配置_功能测试全集
我是一位中级运维工程师,我平时工作会涉及到 各类服务器的 数据库 与 java环境配置 操作。 我顺利使用了OS Copilot的 -t -f | 功能,我的疑惑是不能在自动操作过程中直接给与脚本运行权限,必须需要自己运行一下 chmod 这个既然有了最高的权限,为什么就不能直接给与运行权限呢。 我认为 -t 功能有用,能解决后台运行基础命令操作。 我认为 -f 功能有用,可以通过task文件中撰写连续任务操作。 我认为 | 对文件理解上有很直接的解读,可以在理解新程序上有很大帮助。
164 86
|
25天前
|
运维 JavaScript 应用服务中间件
os-copilot安装与多项功能测评,帮助开发人员PHP环境排查问题
本文介绍了OS Copilot在ECS上 Alibaba Cloud Linux的安装与使用,并对其多项参数进行了功能测评。OS Copilot是为操作系统提供智能化辅助的工具,支持自动化任务、智能推荐、故障排查等功能。安装时需检查是否已安装(`rpm -q os-copilot`),若未安装则用`yum install os-copilot`命令安装,并配置AccessKey信息连接阿里云服务。通过测试不同参数命令,如`-t`参数,展示了其自动化执行和智能生成回答的能力,显著提升运维效率。
os-copilot安装与多项功能测评,帮助开发人员PHP环境排查问题
|
3月前
|
消息中间件 安全 Kafka
Apache Kafka安全加固指南:保护你的消息传递系统
【10月更文挑战第24天】在现代企业环境中,数据的安全性和隐私保护至关重要。Apache Kafka作为一款广泛使用的分布式流处理平台,其安全性直接影响着业务的稳定性和用户数据的安全。作为一名资深的Kafka使用者,我深知加强Kafka安全性的重要性。本文将从个人角度出发,分享我在实践中积累的经验,帮助读者了解如何有效地保护Kafka消息传递系统的安全性。
178 7
|
3月前
|
消息中间件 数据挖掘 Kafka
Apache Kafka流处理实战:构建实时数据分析应用
【10月更文挑战第24天】在当今这个数据爆炸的时代,能够快速准确地处理实时数据变得尤为重要。无论是金融交易监控、网络行为分析还是物联网设备的数据收集,实时数据处理技术都是不可或缺的一部分。Apache Kafka作为一款高性能的消息队列系统,不仅支持传统的消息传递模式,还提供了强大的流处理能力,能够帮助开发者构建高效、可扩展的实时数据分析应用。
136 5
|
4天前
|
运维 自然语言处理 Linux
os-copilot安装和使用体验测评
OS Copilot是阿里云基于大模型构建的Linux系统智能助手,支持自然语言问答、命令执行和系统运维调优。本文介绍其产品优势、功能及使用方法,并分享个人开发者在云服务器资源管理中的实际应用体验。通过-t/-f/管道功能,OS Copilot简化了复杂任务处理,但仍需增强某些命令的执行能力,特别是在数据库安装部署方面。文中详细描述了安装步骤、环境配置及常见问题解决方法,帮助用户更好地利用OS Copilot提高工作效率。
|
1月前
|
监控 搜索推荐 开发工具
2025年1月9日更新Windows操作系统个人使用-禁用掉一下一些不必要的服务-关闭占用资源的进程-禁用服务提升系统运行速度-让电脑不再卡顿-优雅草央千澈-长期更新
2025年1月9日更新Windows操作系统个人使用-禁用掉一下一些不必要的服务-关闭占用资源的进程-禁用服务提升系统运行速度-让电脑不再卡顿-优雅草央千澈-长期更新
128 2
2025年1月9日更新Windows操作系统个人使用-禁用掉一下一些不必要的服务-关闭占用资源的进程-禁用服务提升系统运行速度-让电脑不再卡顿-优雅草央千澈-长期更新
|
25天前
|
弹性计算 Ubuntu Java
OS-Copilot-ubuntu镜像版本的具体测试使用(安装方式有单独注明)
作为一名个人开发者,我主要负责云资源的运维和管理。在使用OS Copilot的过程中,我遇到了一些配置问题,特别是在ECS实例中设置AccessKey时,但最终成功解决了。通过使用OS Copilot的-t/-f/管道功能,我大大提升了效率,减少了命令编写的工作量,特别是在搭建Java运行环境时效果显著。此外,| 功能帮助我快速理解文档,整体体验非常流畅,推荐给其他开发者使用。
38 6
|
30天前
|
弹性计算 运维 Ubuntu
os-copilot在Alibaba Cloud Linux镜像下的安装与功能测试
我顺利使用了OS Copilot的 -t -f 功能,我的疑惑是在换行的时候就直接进行提问了,每次只能写一个问题,没法连续换行更有逻辑的输入问题。 我认为 -t 管道 功能有用 ,能解决环境问题的连续性操作。 我认为 -f 管道 功能有用 ,可以单独创建可连续性提问的task问题。 我认为 | 对文件直接理解在新的服务器理解有很大的帮助。 此外,我还有建议 可以在非 co 的环境下也能进行连续性的提问。
70 7