本文以源码2.8为例
准备如下
-
idea 2019.1.4
-
jdk 1.8
-
scala 2.12.8
-
gradle 6.8.1
-
zookeeper 3.4.10
-
kafka2.8源码
注意:以下安装都需要装在没有空格的路径上,比如D:\Program Files (x86) 就带空格,是不行的
idea 2019.1.4 安装
scala 2.12.8 安装
-
地址如下:https://www.scala-lang.org/download/2.12.8.html
-
选择如下文件下载
-
安装就按常规的选下一步即可,安装之后还需要设置环境变量,如下图:
-
安装成功后验证是否成功:scala -version
gradle 6.8.1 安装
- 安装之后验证是否成功:gradle -v
zookeeper 3.4.10 安装
dataDir=/tmp/zookeeper/data1
clientPort=2181
server.1=127.0.0.1:2280:2281
server.2=127.0.0.1:2380:2381
server.3=127.0.0.1:2480:2481
修改zoo2.cfg如下:
dataDir=/tmp/zookeeper/data2
clientPort=2182
server.1=127.0.0.1:2280:2281
server.2=127.0.0.1:2380:2381
server.3=127.0.0.1:2480:2481
修改zoo3.cfg如下:
dataDir=/tmp/zookeeper/data3
clientPort=2183
server.1=127.0.0.1:2280:2281
server.2=127.0.0.1:2380:2381
server.3=127.0.0.1:2480:2481
2、/bin目录下复制两个zkEnv.cmd,分别命名zkEnv2.cmd、zkEnv3.cmd
修改zkEnv.cmd如下:
set ZOOCFG=%ZOOCFGDIR%\zoo.cfg
修改zkEnv2.cmd如下:
set ZOOCFG=%ZOOCFGDIR%\zoo2.cfg
修改zkEnv3.cmd如下:
set ZOOCFG=%ZOOCFGDIR%\zoo3.cfg
3、/bin目录下复制两个zkServer.cmd,分别命名zkServer2.cmd、zkServer3.cmd
修改zkServer.cmd如下:
call “%~dp0zkEnv.cmd”
修改zkServer2.cmd如下:
call “%~dp0zkEnv2.cmd”
修改zkServer3.cmd如下:
call “%~dp0zkEnv3.cmd”
4、在第一步配置zoo.cfg时有配置dataDir,我们将三个节点的日志目录分别配置在了三个目录下,所以我们还需要在\tmp\zookeeper新建三个文件夹
分别命名为data1、data2、data3,然后在新建的目录下分别新建三个文件,命名为myid,文件中分别写入1,2,3
以data1为例
5、分别启动三个zkServer.cmd,无异常就说明集群启动成功
kafka2.8源码
scalaVersion=2.12.8
- 修改build.gradle中的 mavenCentral(),jcenter()替换成如下maven路径
maven {
url ‘https://maven.aliyun.com/nexus/content/groups/public/’
}
maven {
url ‘https://maven.aliyun.com/nexus/content/repositories/jcenter’
}
zookeeper.connect=127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183
public static <T> Map<String, T> translateDeprecatedConfigs(Map<String, T> configs, String[][] aliasGroups) {
Map<String, List<String>> map = Stream.of(aliasGroups)
.collect(Collectors.toMap(x -> x[0],
x -> Stream.of(x).skip(1).map(a->a.toString()).collect(Collectors.toList())));
return translateDeprecatedConfigs(configs, map);
}
1、dependencies.gradle中slf4jlog4j的下面添加
slf4jSimple: “org.slf4j:slf4j-simple:$versions.slf4j”,
2、build.gradle中782行添加如下
compile libs.slf4jSimple
compile “com.alibaba:fastjson:1.2.66”