Kafka源码调试环境搭建

本文介绍如何搭建Kafka 0.8.2.2版本的开发环境,包括所需依赖软件的安装配置、源码下载与转换为Eclipse工程的过程,并详细说明如何配置及运行Kafka。

写在前面

  1. 用到了kafka, 于是借机会看看代码, 顺便复习下Scala, 看到一半, 换电脑了, 搭环境有搭了半天, 所以记录下. 注意这里是0.8.2.2版本, 因为公司用的就是这个版本.

依赖的软件

  1. Git
  2. ScalaIDE(4.4.1)
  3. Gradle
  4. ZooKeeper

环境搭建

  1. 下载源码并切换分支到0.8.2.2版本:
git clone git@github.com:apache/kafka.git
git checkout -b 0.8.2.2 0.8.2.2
  1. 安装配置Gradle
    1. 下载解压Gradle压缩包, 并配置GRADLE_HOME和PATH, (可以通过GRADLE_USER_HOME指定jar包下载地址)
    2. 添加全局配置文件(GRADLE_HOME/init.d/init.gradle), 优先使用本地Maven仓库.
    allprojects {
        repositories {
            mavenLocal()
            maven{ url 'your nexus'}
            mavenCentral()
        }
    }
    
  2. 安装ZooKeeper(略)
  3. 将Kafka源码转换为eclipse工程
#切换到kafka代码目录
gradle
./gradlew eclipse
  1. 将Kafka工程导入到ScalaIDE中.
    1. 先导入kafka/clients项目(core项目依赖clients)
    2. 再导入kafka/core项目
    3. clients是Java代码不用配置.
    4. core是Scala项目, 因为0.8.2比较老, 所以要设置Scala编译级别为2.10(项目属性->Scala Compiler->勾上Use Project Settings->Scala Installation 选择2.10)
    5. 然后clean下, 反正我是挺顺利的~~~

运行源码

  1. 启动ZooKeeper
  2. 主类在/core/src/main/scala/kafka/Kafka.scala
  3. 修改Kafka.scala文件设置kafka使用的配置文件, 和日志文件配置(通过手动设置main方法参数, 和系统参数来实现)
def main(args: Array[String]): Unit = {
    val args = Array("""C:\projects\kafka08\kafka\core\conf\server.properties""")
    System.setProperty("log4j.configuration", """file:C:\projects\kafka08\kafka\core\conf\log4j.properties""")
    //下面的不修改
}
  1. kafka是通过脚本来停止的, 所以这里debug, 为了避免每次都杀进程, 所以修改下, 这样可以通过控制台回车就可以正常关闭kafka了.
//注释掉awaitShutdown方法调用, 修改为in.read(), 然后调用shutdown
def main(args: Array[String]): Unit = {
    kafkaServerStartable.startup
    //kafkaServerStartable.awaitShutdown
    System.in.read()
    kafkaServerStartable.shutdown()
}
  1. 好了, 现在可以右键 Run As Scala Application运行了

转载于:https://my.oschina.net/haogrgr/blog/705398

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值