阅读文本大概需要 3 分钟。
这个周末想学下 kafka,所以自己用电脑试着搭个 kafka 环境。但这个过程可以说是非常地气人!
坦白讲,网上的教程也不少,但也许是因为版本等蜜汁原因,说被坑了一天都不为过。在这里记录一波,如果有读者近期也准备搭个环境,学下 kafka 的话,我相信这篇文章是可以帮到你的。
说到要玩 kafka,首先需要安装三样东西:JDK、zookeeper 和 kafka。
我的环境分别是:JDK8、zookeeper 3.4.13、kafka_2.12-2.1.0。
PS:以下只是单机使用。
1. 安装
JDK 就不说了,zookeeper 和 kafka的下载地址分别如下:
https://mirrors.cnnic.cn/apache/zookeeper/
2. 配置与启动
2.1 zookeeper
都安装解压好后,先配置好 zookeeper,只需要修改一个地方:去过conf 目录,把 zoo_sample.cfg 重命名成 zoo.cfg,并将修改 zoo.cfg 里面的 dataDir 值为你想要目录,我的是:dataDir=D:\zookeeper-3.4.13\data
最后,就是用命令行,cd 到 zookeeper 的 bin 目录,使用命令 zkserver 启动即可。当然,把 bin 目录路径配置成环境变量会更方便点,这样就不用每次都进入 bin 目录了。
当最后出现 binding to port 0.0.0.0/0.0.0.0:2181 就说明启动成功了。启动后不要关,因为运行 kafka 之前一定要运行 zookeeper
2.2 kafka
zookeeper 基本不会踩坑,kafka 的坑就有了。
首先一样,进入 config 目录,修改 server.properties 文件的 log.dirs 选项,我的配置是log.dirs=D:\\kafka_2.12-2.1.0\\kafka-logs
可能你会奇怪,为什么这里的路径和 zk 的不一样,有 2 个 \ 呢?我尝试过只用一个,发现启动会报错,应该是识别问题,因为不是重点,所以具体原因没深究。
好了,kafka 的配置文件其他选项全部默认,这里和网上的说法有点不同,网上有些要改其他选项,我也对应改过,发现改了更有问题。能满足自己需求,可以用就行,希望各位读者也不要一味追求和网上一样的配置,可以符合自己的需求就行。
因为进入 kafka 解压后目录的 \bin\windows 目录(我是 win系统,Linux/mac 系统应该不一样),执行以下命令启动 kafka。
这里我遇到的一个坑就是 OOM,网上搜了好久,终于被我找到了可行的解决方法。
启动的异常信息如下:
这里的解决方法就是需要修改\bin\windows 目录下的kafka-server-start 文件的一个地方(PS:这个文件就是刚才用于启动 kafka 的文件,如果你不是 win 系统,那请编辑你启动 kafka 的文件)
原来默认红框地方都是 1G,这里修改成了 -Xmx256M -Xms128M,完美解决!
修改之后,重新执行启动 kafka 的命令,如下两张图,表示启动成功,最后一张是启动完成后的样子,卡着不动了。
接下来就可以愉快的使用 kafka 相关命令来实践学习了。
后续不出意外的话,应该会更新一波 kafka 相关的内容,当然也不排除中间穿插别的知识点。
刚开始学 kafka,若有错误,请留言指正,一起学习。
若有帮助,请「好看」鼓励一波,原创不易。
--End--
Java、MySQL、Redis、Linux、mq
数据结构、设计模式、编程思想、架构
领取专属 10元无门槛券
私享最新 技术干货