• 附录:kafka源码启动


    本文以源码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 安装

    • 地址如下:https://www.jetbrains.com.cn/en-us/idea/download/other.html

    • 选择如下版本下载
      图一

    • 安装就按常规的选下一步即可,安装之后需要再添加scala及gradle的插件,如下图
      图二图三

    scala 2.12.8 安装

    • 地址如下:https://www.scala-lang.org/download/2.12.8.html

    • 选择如下文件下载
      图四

    • 安装就按常规的选下一步即可,安装之后还需要设置环境变量,如下图:
      图五

    • 安装成功后验证是否成功:scala -version
      图六

    gradle 6.8.1 安装

    • 地址如下:https://services.gradle.org/distributions/

    • 选择如下文件下载:
      图七

    • 不用安装,直接解压缩,安装之后还需要设置环境变量,如下图
      GRADLE_HOME D:\programFiles\gradle\gradle-6.8.1-bin\gradle-6.8.1
      %GRADLE_HOME%\bin
      图八

    图九

    • 安装之后验证是否成功:gradle -v
      图十

    zookeeper 3.4.10 安装

    • 地址如下:https://archive.apache.org/dist/zookeeper/

    • 选择如下文件下载:
      图十一

    • 不用安装,直接解压缩

    • 这里示例集群的方式搭建zk
      1、/conf 目录下复制三个zoo_sample.cfg,分别命名zoo.cfg、zoo2.cfg、zoo3.cfg
      修改zoo.cfg如下:

    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源码

    • 地址如下:- https://github.com/apache/kafka.git

    • 源码下载完成后切到2.8分支

    • 设置gradle路径以及jdk
      图十四

    • 修改gradle.properties中scala版本

    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’
    }

    • 点击gradle开始导入项目
      图十五

      如下提示就说明导入成功
      图十六

    • 接着build项目,在这个过程中会根据部分json文件生成data文件
      图十七

    • 修改server.properties的zk配置

    zookeeper.connect=127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183

    • 添加kafka启动application
      图十八

    • 若提示代码编译失败,代码位置为org.apache.kafka.common.utils.ConfigUtils#translateDeprecatedConfigs(java.util.Map T>, java.lang.String[][]) ,则修改如下:

        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
    • 2
    • 3
    • 4
    • 5
    • 6
    • 若启动失败,则添加如下配置

    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”

  • 相关阅读:
    贪吃蛇-c语言版本
    专业英语第八章Communications and Networks测试题
    RabbitMQ四种交换机类型
    Go 处理粘包拆包
    xdcms漏洞合集-漏洞复现
    C++中冒号(:)、双冒号(::)的作用
    【网络】详解http协议
    傅里叶变换应用 (02/2):频域和相位
    突破编程_C++_面试(模板编程(3))
    NPM【问题 01】npm i node-sass@4.14.1报错not found: python2及Cannot download问题处理
  • 原文地址:https://blog.csdn.net/qq_34306010/article/details/126295098