这里使用的Kafka版本是2.8.1,差不多是最新的2.X.X版本,2021.9.21已经出了最新的3.0.0版本,该版本移除了Java 8以及Scala 2.12,在环境配置上有所不同,后续有时间会更新最新的3.0.0环境搭建内容。
1. Java 设置操作系统:MAC
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版本
编辑环境配置文件:
> sudo vi /etc/profile
插入以下内容:
export SCALE_HOME=/Users/luojiacheng/tool/scale/scala-2.13.6 export PATH=$PATH:$SCALE_HOME/bin
更新环境:
> source /etc/profile2.3 验证
出现如下结果表示成功
ljc:~ luojiacheng$ scala -version Scala code runner version 2.13.6 -- Copyright 2002-2021, LAMP/EPFL and Lightbend, Inc.3. 安装Gradle 3.1 下载
3.2 环境配置下载地址:https://gradle.org/releases/
编辑环境配置文件:
> sudo vi /etc/profile
插入以下内容:
export GRADLE_HOME=/Users/luojiacheng/gradle-6.8.1 export PATH=$PATH:$GRADLE_HOME/bin
更新环境:
> source /etc/profile3.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_644. 安装Zookeeper
Kafka2版本还是需要依赖Zookeeper的,所以还需要安装Zookeeper。
4.1 下载(brew)> brew install zookeeper4.2 启动
ljc:~ luojiacheng$ zkServer start ZooKeeper JMX enabled by default Using config: /usr/local/etc/zookeeper/zoo.cfg Starting zookeeper ... STARTED4.3 停止
ljc:~ luojiacheng$ zkServer stop ZooKeeper JMX enabled by default Using config: /usr/local/etc/zookeeper/zoo.cfg Stopping zookeeper ... STOPPED5. Kafka 5.1 下载
5.2 gradle idea下载地址:https://kafka.apache.org/downloads
解压在工程目录下执行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-logs6.3 配置程序并启动
启动成功日志输出



