本文主要是介绍Kafka源码编译(kafka0.8.2.2)并用IDEA(2018.3)运行,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一: 准备工作
安装JDK(1.8或以上)、Scala(2.11.x)、Gradle
可以参考博客 https://blog.csdn.net/u013256816/article/details/78533725
本机安装如下:
二:下载kafka源码解压
三:在解压目录下执行gradle idea
四:编译成功
产生如下三个文件:
五:如果编译失败,报错如下
gradle idea
Starting a Gradle Daemon (subsequent builds will be faster)
Building project 'core' with Scala version 2.10.4 FAILURE: Build failed with an exception. * Where:
Build file '/opt/bigdata/kafka/kafka-0.8.2.2-src/build.gradle' line: 230 * What went wrong:
A problem occurred evaluating root project 'kafka-0.8.2.2-src'.
> Failed to apply plugin [class 'org.gradle.api.plugins.scala.ScalaBasePlugin'] > No such property: useAnt for class: org.gradle.api.tasks.scala.ScalaCompileOptions * Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. BUILD FAILED
解决办法:
在build.gradle文件中添加如下(=号前后最好不带空格):
ScalaCompileOptions.metaClass.daemonServer=true
ScalaCompileOptions.metaClass.fork=true
ScalaCompileOptions.metaClass.useAnt=false
ScalaCompileOptions.metaClass.useCompileDaemon=false
六:IDEA打开Kafka源码
IDEA必选先装Scala插件(在setting/plugins下搜索安装,或离线安装)
1.选择build.gradle文件打开
2.建立索引,点击导入
点击Import Gradle project之后,再次去掉对勾,点击OK
七:运行Kafka源码
1.将config目录下的log4j.properties拷贝到core/src/main/scala目录下
如果拷贝到此目录仍启动仍无效,可在main下新建resources目录。将log4j.properties拷贝到resources下。
2.设置server.properties
设置broker.id、port、log.dirs、zookeeper.connect
特别要说一下的是:log.dirs
由于是本地运行,kafka运行的log会在默认路径下,不方便查看,因此我设置了两个目录用于存储kafka运行过程中产生的两不同的日志
在server.properties中log.dirs设置appLog
在拷贝后的core/src/main/scala下的log4j.properties中添加:
kafka.logs.dir=F:\\linuxLocalRun\\kafka\\kafka_2.11-2.0.1\\log\\broker1\\runLog
3.配置Application
选择core/src/main/scala/kafka/Kafka.scala作为Main Class
八:启动zookeeper
双击zkServer.cmd 本地运行zookeeper
九:运行Kafka源码
启动成功。并成为Leaders
这篇关于Kafka源码编译(kafka0.8.2.2)并用IDEA(2018.3)运行的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!