kafka作为常用的消息中间件,在各大企业得到广泛应用,笔者从今天开始将陆续对kafka 0.10.1进行源码分析。工欲善其事必先利其器,在阅读Kafka源码之前,首先第一步得搭建源码阅读环境,选择合适的工具可以使我们的学习效率更好,在这里我选用Intellij Idea 作为源码阅读环境的IDEA环境。
环境依赖
jdk
下载jdk 1.8,设置JAVA_HOME
java -version
java version "1.8.0_221"
Java(TM) SE Runtime Environment (build 1.8.0_221-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)
gradle
下载gradle 3.1.6,设置GRADLE_HOME
GRADLE_HOME=/Users/lidongmeng/software/gradle-6.1.1
PATH=$PATH:$GRADLE_HOME/bin
scala
下载scala-2.11.8 ,设置SCALA_HOME
SCALA_HOME=/Users/lidongmeng/software/scala-2.11.8
PATH=$PATH:$SCALA_HOME/bin
zookeeper
下载zookeeper 3.4.9: ,设置ZK_HOME
ZK_HOME=/Users/lidongmeng/software/zookeeper-3.4.9
PATH=$PATH:$ZK_HOME/bin
kafka源码
下载kafka-0.10.1源代码: http://kafka.apache.org/downloads
idea-scala插件
Idea -> preferences -> plugin -> scala
编译源码
构建
使用命令: gradle idea
构建项目,如果是eclipse使用gradle eclipse
> Task :idea
Generated IDEA project at file:///Users/lidongmeng/source_code_read/kafka-0.10.0.1-src/kafka-0.10.0.1-src.ipr
Deprecated Gradle features were used in this build, making it incompatible with Gradle 6.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/5.6.3/userguide/command_line_interface.html#sec:command_line_warnings
BUILD SUCCESSFUL in 7m 16s
16 actionable tasks: 16 executed