这里使用的Kafka版本是2.8.1,差不多是最新的2.X.X版本,2021.9.21已经出了最新的3.0.0版本,该版本移除了Java 8以及Scala 2.12,在环境配置上有所不同,后续有时间会更新最新的3.0.0环境搭建内容。
操作系统:MAC
1. Java 设置
JDK版本是1.8,这里就不描述具体的操作步骤。
ljc:~ luojiacheng$ 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)
2. 安装Scala
2.1 下载
下载地址:https://www.scala-lang.org/download/scala2.html
这里下载的是2.13.6版本

2.2 环境配置
编辑环境配置文件:
> sudo vi /etc/profile
插入以下内容:
export SCALE_HOME=/Users/luojiacheng/tool/scale/scala-2.13.6
export PATH=$PATH:$SCALE_HOME/bin
更新环境:
> source /etc/profile
2.3 验证
出现如下结果表示成功
ljc:~ luojiacheng$ scala -version
Scala code runner version 2.13.6 -- Copyright 2002-2021, LAMP/EPFL and Lightbend, Inc.
3. 安装Gradle
3.1 下载
下载地址:https://gradle.org/releases/

3.2 环境配置
编辑环境配置文件:
> sudo vi /etc/profile
插入以下内容:
export GRADLE_HOME=/Users/luojiacheng/gradle-6.8.1
export PATH=$PATH:$GRADLE_HOME/bin
更新环境:
> source /etc/profile
3.3 验证
出现如下结果表示成功
ljc:~ luojiacheng$ gradle -version
------------------------------------------------------------
Gradle 6.8.1
------------------------------------------------------------
Build time: 2021-01-22 13:20:08 UTC
Revision: 31f14a87d93945024ab7a78de84102a3400fa5b2
Kotlin: 1.4.20
Groovy: 2.5.12
Ant: Apache Ant(TM) version 1.10.9 compiled on September 27 2020
JVM: 1.8.0_221 (Oracle Corporation 25.221-b11)
OS: Mac OS X 10.16 x86_64
4. 安装Zookeeper
Kafka2版本还是需要依赖Zookeeper的,所以还需要安装Zookeeper。
4.1 下载(brew)
> brew install zookeeper
4.2 启动
ljc:~ luojiacheng$ zkServer start
ZooKeeper JMX enabled by default
Using config: /usr/local/etc/zookeeper/zoo.cfg
Starting zookeeper ... STARTED
4.3 停止
ljc:~ luojiacheng$ zkServer stop
ZooKeeper JMX enabled by default
Using config: /usr/local/etc/zookeeper/zoo.cfg
Stopping zookeeper ... STOPPED
5. Kafka
5.1 下载
下载地址:https://kafka.apache.org/downloads

5.2 gradle idea
解压在工程目录下执行gradle idea,出现下图表示成功。

5.3 IDEA 打开
5.4 执行jar
在Idea中点击Gradle下jar命令。

6. 启动本地Kafka
6.1 添加log4j依赖
在core依赖中添加如下部分。
compile group: 'log4j', name: 'log4j', version: '1.2.17'
compile group: 'org.slf4j', name: 'slf4j-api', version: '1.7.30'
compile group: 'org.slf4j', name: 'slf4j-log4j12', version: '1.7.30'
project(':core') {
println "Building project 'core' with Scala version ${versions.scala}"
apply plugin: 'scala'
// scaladoc generation is configured at the sub-module level with an artifacts
// block (cf. see streams-scala). If scaladoc generation is invoked explicitly
// for the `core` module, this ensures the generated jar doesn't include scaladoc
// files since the `core` module doesn't include public APIs.
scaladoc {
enabled = false
}
if (userEnableTestCoverage)
apply plugin: "org.scoverage"
archivesBaseName = "kafka_${versions.baseScala}"
dependencies {
compile project(':clients')
...
compile libs.slf4jApi
compile(libs.zookeeper) {
exclude module: 'slf4j-log4j12'
exclude module: 'log4j'
}
// ZooKeeperMain depends on commons-cli but declares the dependency as `provided`
compile libs.commonsCli
compileOnly libs.log4j
compile group: 'log4j', name: 'log4j', version: '1.2.17'
compile group: 'org.slf4j', name: 'slf4j-api', version: '1.7.30'
compile group: 'org.slf4j', name: 'slf4j-log4j12', version: '1.7.30'
...
}
6.2 修改配置文件
- 将
config/log4j.properties文件复制到core/src/main/resources/目录下; - 修改
config/server.properties中的log.dirs为自定义日志目录。
log.dirs=/Users/luojiacheng/ljc_code/kafka-resource/kafka-2.8.1-src/kafka-logs
6.3 配置程序并启动

启动成功日志输出

本文详细介绍了在MAC操作系统上搭建Kafka 2.8.1源码环境的过程,包括Java、Scala、Gradle的安装与验证,Zookeeper的安装,以及Kafka的下载、配置和启动。特别强调了Scala 2.13.6的环境配置,以及在IDEA中使用Gradle构建Kafka项目。

1676

被折叠的 条评论
为什么被折叠?



