Windows环境安装kafka
前言
注意事项:
需要有jdk,jdk8以上。配置好环境变量。
参看链接:https://blog.csdn.net/weixin_38004638/article/details/91893910
一、安装zookeeper
1、下载zookeeper
官网:https://zookeeper.apache.org/
https://zookeeper.apache.org/releases.html
http://www.apache.org/dyn/closer.cgi/
https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/
- 注意:下载的文件解压不了,换一个,说明下载的不是安装包。
2、 解压并进入ZooKeeper目录,如:F:\zookeeper-3.4.5\conf
- 注意:ZooKeeper的版本不要太高,可能jdk8不太支持,反正我本地刚开始用的zookeeper-3.4.10.tar.gz,启动失败。
3、 将“zoo_sample.cfg”重命名为“zoo.cfg”
4、 打开“zoo.cfg”找到并编辑dataDir=F:\\zookeeper-3.4.5\\tmp(必须以\\分割)
5、 添加系统变量:ZOOKEEPER_HOME=F:\zookeeper-3.4.5
6、 编辑path系统变量,添加路径:%ZOOKEEPER_HOME%\bin
7、 在zoo.cfg文件中修改默认的Zookeeper端口(默认端口2181)
8、 打开新的cmd,输入“zkServer“,运行Zookeeper
9、 命令行提示如下:说明本地Zookeeper启动成功

- 注意:不要关了这个窗口
二、本地安装kafka
1、 下载安装包
http://kafka.apache.org/downloads
- 注意1:要下载二进制版本
- 注意2:版本不要太高,原来用的最新版本,启动失败。后来改用了kafka_2.12-0.11.0.0.tgz才启动成功。

2、 解压并进入Kafka目录,笔者:D:\Kafka\kafka_2.12-0.11.0.0
3、 进入config目录找到文件server.properties并打开
4、 找到并编辑log.dirs=D:\Kafka\kafka_2.12-0.11.0.0\kafka-logs
5、 找到并编辑zookeeper.connect=localhost:2181
6、 Kafka会按照默认,在9092端口上运行,并连接zookeeper的默认端口:2181
7、 进入Kafka安装目录F:\kafka_2.12-0.11.0.0,按下Shift+右键,选择“打开命令窗口”选项,打开命令行,(win10在文件路径输入cmd,按回车)输入:
.\bin\windows\kafka-server-start.bat .\config\server.properties
或
bin\kafka-server-start.sh config\server.properties
- 注意1:我们用第一行。
出现如下信息,表示启动成功。

- 注意1:在执行命令时,出现如下报错,
命令语法不正确。
Exception in thread "main" java.lang.UnsupportedClassVersionError: kafka/Kafka : Unsupported major.minor version 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)
因为本地配置的java环境变量为JDK7。修改成jdk8后,问题解决。
- 注意2:在第一次启动成功后,安装路径下会出现如下文件:

当关掉kafka再次启动时,会提示该文件被占用,导致启动失败,解决方案:直接删掉该文件,重新启动。
- 注意3:不要关了这个窗口,启用Kafka前请确保ZooKeeper实例已经准备好并开始运行
三、测试
注意:(linux直接在bin目录下.sh,windows需要进入bin\winndows下的.bat操作kafka。)
1、 创建主题
进入Kafka安装目录D:\Kafka\kafka_2.12-0.11.0.0,按下Shift+右键,选择“打开命令窗口”选项,打开命令行,(win10在文件路径输入cmd,按回车)输入:
.\bin\windows\kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
出现如下信息,标识创建成功:

2、查看主题输入
.\bin\windows\kafka-topics.bat --list --zookeeper localhost:2181
3、 创建生产者
进入Kafka安装目录D:\Kafka\kafka_2.12-0.11.0.0,按下Shift+右键,选择“打开命令窗口”选项,打开命令行,输入:
.\bin\windows\kafka-console-producer.bat --broker-list localhost:9092 --topic test
- 注意:不要关了这个窗口

4、 创建消费者
进入Kafka安装目录D:\Kafka\kafka_2.12-0.11.0.0,按下Shift+右键,选择“打开命令窗口”选项,打开命令行,输入:
.\bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test --from-beginning

- 注意:暂时不知道为啥汉语的报错啦。
四、安装中遇到的问题
1、jdk版本太低;
2、下载不了zookeeper安装包;
3、zookeeper启动失败;
4、kafka启动失败;
5、java程序向本地kafka的主题推送数据失败;
6、操作日志的处理:
kafka启动后,如果你去查看kafka所在的根目录,或者是kafka本身的目录,会发现已经默认生成一堆操作日志(这样看起来真心很乱):

而且会不断生成不同时间戳的操作日志。刚开始不知所措,一番研究后,看了启动的脚本内容,发现启动的时候是会默认使用到这个log4j.properties文件中的配置,而在zoo.cfg是不会看到本身的启动会调用到这个,还以为只有那一个日志路径:

在这里配置一下就可以了,找到config下的log4j.properties:

将路径更改下即可,这样就可以归档在一个文件夹下边了,路径根据自己喜好定义:

另外如何消除不断生成日志的问题,就是同一天的不同时间会不停生成。
修改这里,还是在log4j.properties中:

本身都为trace,字面理解为会生成一堆跟踪日志,将其改为INFO即可。
后语

以上就是在windows环境下安装kafka并进行简单测试的步骤。
下面研究下:
window安装kafka客户端;
在java程序中创建生产者与消费者,向kafka推送并消费数据。
Windows环境安装kafka的更多相关文章
- Redis:在windows环境安装Redis
Redis:在windows环境安装Redis 第一步: 下载windows版本的Redis:https://github.com/MSOpenTech/Redis. 第二步: 在命令行执行:D:\r ...
- PHP XAMPP windows环境安装扩展redis 致命错误: Class 'Redis' not found解决方法
PHP XAMPP windows环境安装扩展redis 致命错误: Class 'Redis' not found解决方法 1.电脑需要先安装redis服务端环境,并在安装目录下打开客户端redis ...
- Windows环境安装tesseract-ocr 4.00并配置环境变量
最近要做文字识别,不让直接用别人的接口,所以只能尝试去用开源的类库.tesseract-ocr是惠普公司开源的一个文字识别项目,通过它可以快速搭建图文识别系统,帮助我们开发出能识别图片的ocr系统.因 ...
- windows环境安装MySQL
转:https://www.cnblogs.com/ayyl/p/5978418.html windows环境安装MySQL mySQL下载链接:MySQL Installer 5.7 :http:/ ...
- Windows环境安装MySQL数据库
Windows环境安装MySQL数据库 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 最近在学习Java语言,开发环境在Windows操作系统上,因此需要在Windows上安装My ...
- MongoDB(二):在Windows环境安装MongoDB
1. 在Windows环境安装 1.1 MongoDB下载 要在Windows上安装MongoDB,首先打开MongoDB官网:https://www.mongodb.com/download-cen ...
- windows 环境使用 kafka
近来学习 kafka,网上搜的教程好多不好用.在此开一贴记录一下学习过程.推荐官网,是最好的教程 http://kafka.apache.org/quickstart 官网上是linux 环境,我用的 ...
- RabbitMQ简单介绍+Windows环境安装
文章目录 1.RabbitMQ简介2.RabbitMQ与其他MQ有什么不同3.RabbitMQ环境安装3.1 安装erlang3.2 安装rabbitmq-server4. RabbitMQ管理平台介 ...
- 【Kafka】基于Windows环境的Kafka有关环境(scala+zookeeper+kafka+可视化工具)搭建、以及使用.NET环境开发的案例代码与演示
前言:基于Windows系统下的Kafka环境搭建:以及使用.NET 6环境进行开发简单的生产者与消费者的演示. 一.环境部署 Kafka是使用Java语言和Scala语言开发的,所以需要有对应的Ja ...
随机推荐
- Pandas高级教程之:处理缺失数据
目录 简介 NaN的例子 整数类型的缺失值 Datetimes 类型的缺失值 None 和 np.nan 的转换 缺失值的计算 使用fillna填充NaN数据 使用dropna删除包含NA的数据 插值 ...
- CMD批处理(4)——批处理循环语句结构
FOR函数,对一组文件批量执行命令,基本模式如下 1.文件搜索 for [/D] [/R [路径]] %%变量 in (集合) do (命令) 2.等差数列 for /L %%变量 in (开始,间隔 ...
- 撸了几天的sofa-tracer之后,我悟了!
什么是分布式链路跟踪 简而言之,在分布式系统下,用于跟踪链路而衍生出的一项技术. 应用场景如下: 应用A,B,C,D,E 以一个层级关系依赖, 当用户向 应用A 发起请求,但是返回了个异常,为了排查这 ...
- 免费获取思维导图Mindmaster会员教程
免费获取思维导图Mindmaster会员教程 步骤一.下载安装 搜索亿图官方网页,下载安装免费版Mindmaster思维导图. 步骤二.点击登录 打开Mindmaster思维导图,点击登录,可以使用微 ...
- 百炼 POJ2393:Yogurt factory【把存储费用用递推的方式表达】
2393:Yogurt factory 总时间限制: 1000ms 内存限制: 65536kB 描述 The cows have purchased a yogurt factory that m ...
- Java并发之ReentrantLock源码解析(一)
ReentrantLock ReentrantLock是一种可重入的互斥锁,它的行为和作用与关键字synchronized有些类似,在并发场景下可以让多个线程按照一定的顺序访问同一资源.相比synch ...
- 乘风破浪,遇见华为鸿蒙智能终端系统(HarmonyOS 2),打造面向全场景的分布式操作系统
什么是鸿蒙智能终端系统(HarmonyOS 2) HarmonyOS 是新一代的智能终端操作系统,为不同设备的智能化.互联与协同提供了统一的语言.带来简洁,流畅,连续,安全可靠的全场景交互体验. ht ...
- 23、ORA-00439:DEFERRED_SEGMENT_CREATION 问题解决
23.1.说明: 1. 众所周知,在清空表内所有数据时,truncate比delete要快很多,原因是,delete语句每次删除一行,都在事务日志中为所删除的每行记录一项. truncate通过释放存 ...
- Vue style与css的var()
vue绑定style直接给css的var变量传递一个值,然后结合css的var()函数使用这个值. 在data里面定义一个变量然后给定一个值,后期修改这个值之后,所有依赖这个变量的css样式都会被响应 ...
- centos 8 安装 SonarQube遇到的启动问题及解决方案
查看当前centos操作系统的版本 cat /etc/redhat-release 执行结果: 第一步安装openjdk,版本可以根据自己安装sonarqube的版本而定: 安装过程可参见我的另一篇博 ...
