学习
实践
活动
工具
TVP
写文章

初搭kafka环境,我踩的坑,你别再踩了

阅读文本大概需要 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

数据结构、设计模式、编程思想、架构

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190218G05W9G00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券