自己动手搭建kafka及源码阅读环境 - Go语言中文社区

自己动手搭建kafka及源码阅读环境


搭建kafka源码阅读环境

1、配置本地的jdk环境及IDE,jdk最好是1.8以上
2、下载并配置gradle

下载地址 http://services.gradle.org/distributions/
选择gradle版本的时候,要注意配合你所下载的kafka版本
我所在项目使用的kafka版本是0.9.0.1,然后我下载了0.9.x版本的kafka源码,同时下载最新版的gradle,但是本地构建的时候,一直报如下错误
在这里插入图片描述
以及如下的错误

Details: groovy.lang.MissingPropertyException: Could not get unknown property 'classesDir' for main classes of type org.gradle.api.internal.tasks.DefaultSourceSetOutput.</i>

Warning:<i><b>root project 'kafka-0.9.0.1-src': Unable to resolve additional project configuration.</b>
Details: groovy.lang.MissingPropertyException: Could not get unknown property 'projectConfiguration' for DefaultProjectDependency{dependencyProject='project ':clients'', configuration='default'} of type org.gradle.api.internal.artifacts.dependencies.DefaultProjectDependency.</i>

这都是因为gradle和kafka源码版本不兼容。
为了确定哪个版本的gradle和kafka版本兼容,我在kafka源码中全局搜了一下gradle
在这里插入图片描述
然后我猜测0.9.0.1版本的源码需要配合2.2.1版本的gradle,安装相应的grade证实,确实是这样的
安装过程很简单,下载gradle,解压到本地目录,设置系统环境
GRADLE_HOME:D:Program Filesgradle-2.2.1
PATH:%GRADLE_HOME%bin
在IDE中设置gradle环境
Gradle home: D:/Program Files/gradle-2.2.1
JDK选择1.8

3、安装scala插件

因为kafka部分源码是用scala编写的,比如Consumer类的父类ShutdownableThread,所以IDE需要继承scala插件,否则会报编译错误
具体步骤是在settings->Plugins->Browse Repositories中搜索scala插件,点击安装即可

4、导入kafka源码

点击import project,选择kafka源码目录,然后选择gradle项目导入
导入后,打卡ide的gradle视图,选择refresh项目,即可

部署kafka

从kafka官网上选择一个版本
官网地址:
http://kafka.apache.org/downloads

  1. 下载kafka运行包
    curl -L -O https://archive.apache.org/dist/kafka/0.9.0.1/kafka_2.11-0.9.0.1.tgz
  2. 解压 tar zxvf kafka_2.11-0.9.0.1.tgz
  3. 进入config/server.properties,主要配置三个参数:broker.id、log.dir、zookeeper.connect
  4. 启动kafka,执行bin/kafka-server-start.sh config/server.properties &
    如果报以下错误
    在这里插入图片描述
    是因为jdk版本不兼容,要求jdk版本在1.7以上
    可以在bin/kafka-run-class.sh中指定jdk版本,如图
    在这里插入图片描述
  5. 进入kafka目录,执行bin/kafka-server-start.sh config/server.properties &
    如果启动报如下错误,是因为config/server.properties中的broker.id重复,重新指定一个即可
    在这里插入图片描述
版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/xiaovfight/article/details/87903250
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-03-06 22:59:50
  • 阅读 ( 893 )
  • 分类:Go环境配置

0 条评论

请先 登录 后评论

官方社群

GO教程

推荐文章

猜你喜欢