Windows OS上安装运行Apache Kafka教程
haoteby 2025-05-15 17:56 36 浏览
下面是分步指南,教你如何在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
下载所需文件
- 根据系统OS和CPU架构,在这里下载Server JRE http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html
- 在这里下载并安装7-zip http://www.7-zip.org/download.html
- 在这里下载Zookeeper,并用7-zip解压 http://zookeeper.apache.org/releases.html
- 在这里下载Kafka并用7-zip解压 http://kafka.apache.org/downloads.html
针对此教程,我们将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
译者:孙薇
责编:仲浩
相关推荐
- 一日一技:用Python程序将十进制转换为二进制
-
用Python程序将十进制转换为二进制通过将数字连续除以2并以相反顺序打印其余部分,将十进制数转换为二进制。在下面的程序中,我们将学习使用递归函数将十进制数转换为二进制数,代码如下:...
- 十进制转化成二进制你会吗?#数学思维
-
六年级奥赛起跑线:抽屉原理揭秘。同学们好,我是你们的奥耀老师。今天一起来学习奥赛起跑线第三讲二进制计数法。例一:把十进制五十三化成二进制数是多少?首先十进制就是满十进一,二进制就是满二进一。二进制每个...
- 二进制、十进制、八进制和十六进制,它们之间是如何转换的?
-
在学习进制时总会遇到多种进制转换的时候,学会它们之间的转换方法也是必须的,这里分享一下几种进制之间转换的方法,也分享两个好用的转换工具,使用它们能够大幅度的提升你的办公和学习效率,感兴趣的小伙伴记得点...
- c语言-2进制转10进制_c语言 二进制转十进制
-
#include<stdio.h>intmain(){charch;inta=0;...
- 二进制、八进制、十进制和十六进制数制转换
-
一、数制1、什么是数制数制是计数进位的简称。也就是由低位向高位进位计数的方法。2、常用数制计算机中常用的数制有二进制、八进制、十进制和十六进制。...
- 二进制、十进制、八进制、十六进制间的相互转换函数
-
二进制、十进制、八进制、十六进制间的相互转换函数1、输入任意一个十进制的整数,将其分别转换为二进制、八进制、十六进制。2、程序代码如下:#include<iostream>usingna...
- 二进制、八进制、十进制和十六进制等常用数制及其相互转换
-
从大学开始系统的接触计算机专业,到现在已经过去十几年了,今天整理一下基础的进制转换,希望给还在上高中的表妹一个入门的引导,早日熟悉这个行业。一、二进制、八进制、十进制和十六进制是如何定义的?二进制是B...
- 二进制如何转换成十进制?_二进制如何转换成十进制例子图解
-
随着社会的发展,电器维修由继电器时代逐渐被PLC,变频器,触摸屏等工控时代所替代,特别是plc编程,其数据逻辑往往涉及到数制二进制,那么二进制到底是什么呢?它和十进制又有什么区别和联系呢?下面和朋友们...
- 二进制与十进制的相互转换_二进制和十进制之间转换
-
很多同学在刚开始接触计算机语言的时候,都会了解计算机的世界里面大多都是二进制来表达现实世界的任何事物的。当然现实世界的事务有很多很多,就拿最简单的数字,我们经常看到的数字大多都是十进制的形式,例如:我...
- 十进制如何转换为二进制,二进制如何转换为十进制
-
用十进制除以2,除的断的,商用0表示;除不断的,商用1表示余0时结束假如十进制用X表示,用十进制除以2,即x/2除以2后为整数的(除的断的),商用0表示;除以2除不断的,商用1表示除完后的商0或1...
- 十进制数如何转换为二进制数_十进制数如何转换为二进制数举例说明
-
我们经常听到十进制数和二进制数,电脑中也经常使用二进制数来进行计算,但是很多人却不清楚十进制数和二进制数是怎样进行转换的,下面就来看看,十进制数转换为二进制数的方法。正整数转二进制...
- 二进制转化为十进制,你会做吗?一起来试试吧
-
今天孩子问把二进制表示的110101改写成十进制数怎么做呀?,“二进制”简单来说就是“满二进一”,只用0和1共两个数字表示,同理我们平常接触到的“十进制”是“满十进一”,只用0-9共十个数字表示。如果...
- Mac终于能正常打游戏了!苹果正逐渐淘汰Rosetta转译
-
Mac玩家苦转译久矣!WWDC2025苹果正式宣判Rosetta死刑,原生游戏时代终于杀到。Metal4光追和AI插帧技术直接掀桌,连Steam都连夜扛着ARM架构投诚了。看到《赛博朋克2077》...
- 怎么把视频的声音提出来转为音频?音频提取,11款工具实测搞定
-
想把视频里的声音单独保存为音频文件(MP3/AAC/WAV/FLAC)用于配音、播客、听课或二次剪辑?本文挑出10款常用工具,给出实测可复现的操作步骤、优缺点和场景推荐。1)转换猫mp3转换器(操作门...
- 6个mp4格式转换器测评:转换速度与质量并存!
-
MP4视频格式具有兼容性强、视频画质高清、文件体积较小、支持多种编码等特点,适用于网络媒体传播。如果大家想要将非MP4格式的视频转换成MP4的视频格式的话,可以使用MP4格式转换器更换格式。本文分别从...