Kafka源码编译(kafka0.8.2.2)并用IDEA(2018.3)运行

2023-12-17 08:32

本文主要是介绍Kafka源码编译(kafka0.8.2.2)并用IDEA(2018.3)运行,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一: 准备工作

       安装JDK(1.8或以上)、Scala(2.11.x)、Gradle

    可以参考博客 https://blog.csdn.net/u013256816/article/details/78533725

  本机安装如下:

二:下载kafka源码解压

三:在解压目录下执行gradle idea

四:编译成功

     产生如下三个文件:

五:如果编译失败,报错如下

gradle idea  
Starting a Gradle Daemon (subsequent builds will be faster)  
Building project 'core' with Scala version 2.10.4  FAILURE: Build failed with an exception.  * Where:  
Build file '/opt/bigdata/kafka/kafka-0.8.2.2-src/build.gradle' line: 230  * What went wrong:  
A problem occurred evaluating root project 'kafka-0.8.2.2-src'.  
> 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.  BUILD FAILED  

       解决办法:

         在build.gradle文件中添加如下(=号前后最好不带空格):

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

六:IDEA打开Kafka源码

      IDEA必选先装Scala插件(在setting/plugins下搜索安装,或离线安装)

     1.选择build.gradle文件打开

2.建立索引,点击导入

点击Import Gradle project之后,再次去掉对勾,点击OK

七:运行Kafka源码

       1.将config目录下的log4j.properties拷贝到core/src/main/scala目录下

如果拷贝到此目录仍启动仍无效,可在main下新建resources目录。将log4j.properties拷贝到resources下。

2.设置server.properties

   设置broker.id、port、log.dirs、zookeeper.connect

特别要说一下的是:log.dirs

由于是本地运行,kafka运行的log会在默认路径下,不方便查看,因此我设置了两个目录用于存储kafka运行过程中产生的两不同的日志

在server.properties中log.dirs设置appLog

在拷贝后的core/src/main/scala下的log4j.properties中添加:

kafka.logs.dir=F:\\linuxLocalRun\\kafka\\kafka_2.11-2.0.1\\log\\broker1\\runLog

3.配置Application

选择core/src/main/scala/kafka/Kafka.scala作为Main Class

八:启动zookeeper

双击zkServer.cmd   本地运行zookeeper

九:运行Kafka源码

启动成功。并成为Leaders

 

这篇关于Kafka源码编译(kafka0.8.2.2)并用IDEA(2018.3)运行的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/503749

相关文章

IDEA实现回退提交的git代码(四种常见场景)

《IDEA实现回退提交的git代码(四种常见场景)》:本文主要介绍IDEA实现回退提交的git代码(四种常见场景),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.已提交commit,还未push到远端(Undo Commit)2.已提交commit并push到

IDEA下"File is read-only"可能原因分析及"找不到或无法加载主类"的问题

《IDEA下Fileisread-only可能原因分析及找不到或无法加载主类的问题》:本文主要介绍IDEA下Fileisread-only可能原因分析及找不到或无法加载主类的问题,具有很好的参... 目录1.File is read-only”可能原因2.“找不到或无法加载主类”问题的解决总结1.File

idea中project的显示问题及解决

《idea中project的显示问题及解决》:本文主要介绍idea中project的显示问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录idea中project的显示问题清除配置重China编程新生成配置总结idea中project的显示问题新建空的pr

8种快速易用的Python Matplotlib数据可视化方法汇总(附源码)

《8种快速易用的PythonMatplotlib数据可视化方法汇总(附源码)》你是否曾经面对一堆复杂的数据,却不知道如何让它们变得直观易懂?别慌,Python的Matplotlib库是你数据可视化的... 目录引言1. 折线图(Line Plot)——趋势分析2. 柱状图(Bar Chart)——对比分析3

使用nohup和--remove-source-files在后台运行rsync并记录日志方式

《使用nohup和--remove-source-files在后台运行rsync并记录日志方式》:本文主要介绍使用nohup和--remove-source-files在后台运行rsync并记录日... 目录一、什么是 --remove-source-files?二、示例命令三、命令详解1. nohup2.

Spring Boot项目打包和运行的操作方法

《SpringBoot项目打包和运行的操作方法》SpringBoot应用内嵌了Web服务器,所以基于SpringBoot开发的web应用也可以独立运行,无须部署到其他Web服务器中,下面以打包dem... 目录一、打包为JAR包并运行1.打包为可执行的 JAR 包2.运行 JAR 包二、打包为WAR包并运行

Idea插件MybatisX失效的问题解决

《Idea插件MybatisX失效的问题解决》:本文主要介绍Idea插件MybatisX失效的问题解决,详细的介绍了4种问题的解决方法,具有一定的参考价值,感兴趣的可以了解一下... 目录一、重启idea或者卸载重装MyBATis插件(无需多言)二、检查.XML文件与.Java(该文件后缀Idea可能会隐藏

IDEA之MyBatisX使用的图文步骤

《IDEA之MyBatisX使用的图文步骤》本文主要介绍了IDEA之MyBatisX使用,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习... 目录一、idea插件安装二、IDEA配置数据库连接(以mysql为例)三、生产基础代码一、idea插

Android NDK版本迭代与FFmpeg交叉编译完全指南

《AndroidNDK版本迭代与FFmpeg交叉编译完全指南》在Android开发中,使用NDK进行原生代码开发是一项常见需求,特别是当我们需要集成FFmpeg这样的多媒体处理库时,本文将深入分析A... 目录一、android NDK版本迭代分界线二、FFmpeg交叉编译关键注意事项三、完整编译脚本示例四

idea报错java: 非法字符: ‘\ufeff‘的解决步骤以及说明

《idea报错java:非法字符:‘ufeff‘的解决步骤以及说明》:本文主要介绍idea报错java:非法字符:ufeff的解决步骤以及说明,文章详细解释了为什么在Java中会出现uf... 目录BOM是什么?1. BOM的作用2. 为什么会出现 \ufeff 错误?3. 如何解决 \ufeff 问题?最