zoukankan      html  css  js  c++  java
  • kafka源码环境搭建

    1. 准备工作

    1.1 安装好jdk、scala sdk

    scala and java version

    1.2 安装好gradle

    gradle version

    1.3 本地安装好zookeeper并运行; 这里使用zookeeper-3.3.6版本

    2. 下载源码

    为了更好的追踪源码和版本管理,我们不去kafka官网下载源码,可以直接去github clone kafka的源码。github地址是:https://github.com/apache/kafka

    2.1 clone 源码到本地目录

    git clone https://github.com/apache/kafka.git

    2.2 等待源码下载完毕。进入源码目录

    cd kafka

    2.3 kafka源码以tag作为一个版本的发布, 运行命令 git tag看下所有的tag

    git tag

    kafka tag

    2.4 checkout到0.10.0.0版本

    git checkout 0.10.0.0

    3. 编译

    3.1 为了避免网络限制等,我们可以先修改下build.gradle中的仓库地址, 即在如图位置加入如下代码
    maven

    mavenLocal()
        maven {
            url "http://maven.aliyun.com/nexus/content/groups/public/"
        }
    

    3.2 运行 "gradle idea" 报错

    
    > Configure project :
    Building project 'core' with Scala version 2.10.6
    
    
    FAILURE: Build failed with an exception.
    
    * Where:
    Build file '/Users/houxiaoyu04/Documents/mine/kafka_src/kafka/build.gradle' line: 234
    
    * What went wrong:
    A problem occurred evaluating root project 'kafka'.
    > Failed to apply plugin [class 'org.gradle.api.plugins.scala.ScalaBasePlugin']
       > No such property: useAnt for class: org.gradle.api.tasks.scala.ScalaCompileOptions
    
    * Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
    
    * Get more help at https://help.gradle.org
    
    BUILD FAILED in 0s
    

    我们只需要在 Kafka 源码的 build.gradle 文件里面最顶端添加以下的内容保存即可(网上的解决方案,应该是0.10.0.0.0版本有这个问题):

    ScalaCompileOptions.metaClass.daemonServer = true
    ScalaCompileOptions.metaClass.fork = true
    ScalaCompileOptions.metaClass.useAnt = false
    ScalaCompileOptions.metaClass.useCompileDaemon = false
    

    3.3 再次运行 gradle idea 编译成功

    > Configure project :
    Building project 'core' with Scala version 2.10.6
    
    
    BUILD SUCCESSFUL in 2s
    

    4. 导入IDEA并运行

    4.1 打开

    使用IDEA 打开build.gradle文件,选择Open As Project, 选中"Create Directories for empty contents roots Automatically"

    4.2 配置log4j
    将config目录下的log4j.properties直接复制到 core/src/main/resources/目录下
    log4j

    4.3 修改server.properties
    修改config/server.properties中kafkalog的保存目录和zk地址, 如果都是按照默认的则不需要修改

    4.4 运行

    添加application入下图

    add application

    配置如下

    run config

    保存后点击运行按钮即可。如果无法打印日志到文件可以试下将“vm options”中-Dkafka.logs.dir设置为绝对路径

  • 相关阅读:
    Beetl模板 [记录]
    wx 小程序开发 [记录]
    高德定位获取省市区[记录]
    vue 学习记录 [记录]
    正则表达+验证 [记录]
    倒计时60s短信 [记录]
    @media [记录]
    JSON + Ajax [记录]
    Webstorm [记录]
    JQ 组合代码 [记录]
  • 原文地址:https://www.cnblogs.com/set-cookie/p/9220120.html
Copyright © 2011-2022 走看看