1. 程式人生 > >kafka源碼環境搭建

kafka源碼環境搭建

building ply ant trac pre mpi log4 width creat

1. 準備工作

1.1 安裝好jdk、scala sdk

技術分享圖片

1.2 安裝好gradle

技術分享圖片

1.3 本地安裝好zookeeper並運行; 這裏使用zookeeper-3.3.6版本

2. 下載源碼

為了更好的追蹤源碼和版本管理,我們不去kafka官網下載源碼,可以直接去github clone kafka的源碼。github地址是:https://github.com/apache/kafka 。

2.1 clone 源碼到本地目錄

git clone https://github.com/apache/kafka.git

2.2 等待源碼下載完畢。進入源碼目錄

cd kafka

2.3 kafka源碼以tag作為一個版本的發布, 運行命令 git tag看下所有的tag

git tag

技術分享圖片

2.4 checkout到0.10.0.0版本

git checkout 0.10.0.0

3. 編譯

3.1 為了避免網絡限制等,我們可以先修改下build.gradle中的倉庫地址, 即在如圖位置加入如下代碼
技術分享圖片

mavenLocal()
    maven {
        url "http://maven.aliyun.com/nexus/content/groups/public/"
    }

3.2 運行 "gradle idea" 報錯


> Configure project :
Building project ‘core‘ with Scala version 2.10.6


FAILURE: Build failed with an exception.

* Where:
Build file ‘/Users/houxiaoyu04/Documents/mine/kafka_src/kafka/build.gradle‘ line: 234

* What went wrong:
A problem occurred evaluating root project ‘kafka‘.
> 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.

* Get more help at https://help.gradle.org

BUILD FAILED in 0s

我們只需要在 Kafka 源碼的 build.gradle 文件裏面最頂端添加以下的內容保存即可(網上的解決方案,應該是0.10.0.0.0版本有這個問題):

ScalaCompileOptions.metaClass.daemonServer = true
ScalaCompileOptions.metaClass.fork = true
ScalaCompileOptions.metaClass.useAnt = false
ScalaCompileOptions.metaClass.useCompileDaemon = false

3.3 再次運行 gradle idea 編譯成功

> Configure project :
Building project ‘core‘ with Scala version 2.10.6


BUILD SUCCESSFUL in 2s

4. 導入IDEA並運行

4.1 打開

使用IDEA 打開build.gradle文件,選擇Open As Project, 選中"Create Directories for empty contents roots Automatically"

4.2 配置log4j
將config目錄下的log4j.properties直接復制到 core/src/main/resources/目錄下
技術分享圖片

4.3 修改server.properties
修改config/server.properties中kafkalog的保存目錄和zk地址, 如果都是按照默認的則不需要修改

4.4 運行

添加application入下圖

技術分享圖片

配置如下

技術分享圖片

保存後點擊運行按鈕即可。

kafka源碼環境搭建