最近想从源码上对于kafka有个深入的了解,这里记录一下kafka-0.9.0.0源码查看环境的搭建过程。
1.JAVA环境安装
在oracle官网http://www.oracle.com/technetwork/java/javase/archive-139210.html下载JDK,这里我下载的是EXE安装版本,截图如下:
EXE方式的安装环境变量会自动进行设置,如果是选择解压安装版,那么配置环境变量如下:
比如jdk1.8所在位置为:D:\Java\jdk1.8.0_121,设置环境变量JAVA_HOME如下:
JAVA_HOME=D:\Java\jdk1.8.0_121
CLASSPATH=.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
设置环境变量PATH,这里注意了,不要把PATH全部覆盖了,毕竟这里有windows环境下DOS命令配置,这里要做的是将;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;追加到PATH环境变量之后如下
PATH=这里是之前已经存在的PATH变量值;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
测试JDK是否安装成功,命令窗口输入java -version查看java版本
2.SCALA环境安装
在http://www.scala-lang.org/download/2.10.6.html下载scala,比如安装在D:\scala\scala-2.10.6,设置环境变量SCALA_HOME如下:
SCALA_HOME=D:\scala\scala-2.10.6
设置环境变量PATH,这里注意了,不要把PATH全部覆盖了,毕竟这里有windows环境下DOS命令配置,这里要做的是将;%SCALA_HOME%\bin追加到PATH环境变量之后如下:
PATH=这里是之前已经存在的PATH变量值;%SCALA_HOME%\bin
设置完毕后,在命令窗口检测是否Scala安装成功
3.GRADLE环境安装
在GRADLE官网https://gradle.org/下载GRADLE
下载完毕后,直接解压到一个文件夹,这里比如解压在D:\Build\gradle-4.4.1
那么设置环境变量如下:
GRADLE_HOME=D:\Build\gradle-4.4.1
设置环境变量PATH,这里注意了,不要把PATH全部覆盖了,毕竟这里有windows环境下DOS命令配置,这里要做的是将;%GRADLE_HOME%\bin追加到PATH环境变量之后如下:
PATH=这里是之前已经存在的PATH变量值;%GRADLE_HOME%\bin
检查gradle是否安装成功
4.下载kafka-0.9源码
在GITHUB官网https://github.com/搜索Apache kafka源码如下:
下载Apache kafka版本为0.9.0的源码
下载完毕后将源码ZIP文件解压在目录E:\sourcecode\kafka-0.9.0
5.IntelliJ IDEA中导入Apache kafka
按照如下图所示方式导入源码,截图如下:
如果遇到弹出框提示错误信息“import kafka sourcecode in intellij”,解决办法如下:
修改源码根目录下的文件build.gradle,修改前内容如下:
import org.ajoberstar.grgit.Grgit buildscript { repositories { mavenCentral() } ......
修改后内容如下:
import org.ajoberstar.grgit.Grgit ScalaCompileOptions.metaClass.daemonServer = true ScalaCompileOptions.metaClass.fork = true ScalaCompileOptions.metaClass.useAnt = false ScalaCompileOptions.metaClass.useCompileDaemon = false buildscript { repositories { mavenCentral() } ......
修改完毕后,再次导入源码即可成功,截图如下:
相关推荐
《Kafka 2.11-0.11.0.0:Linux环境下的部署与配置详解》 Kafka是一款高性能、分布式的消息中间件,常用于大数据实时处理和流计算中。在这里,我们关注的是其特定版本——Kafka 2.11-0.11.0.0。这个版本兼容Scala ...
本安装包包含了Zookeeper 3.4.6和Kafka 0.9.0.0这两个版本,它们都是Apache软件基金会的重要项目,用于解决大规模分布式环境下的协调问题和消息传递需求。 **Zookeeper**是一个分布式的,开放源码的协调服务,它是...
1. **下载Kafka**:从Apache官方网站下载最新版本的Kafka,例如`kafka_2.11-0.9.0.0.tgz`。 2. **解压安装**:使用`tar -zxvf kafka_2.11-0.9.0.0.tgz`命令解压文件到指定目录。 3. **配置环境变量**:编辑`~/....
kafka_2.11-0.9.0.0.tgz是Kafka的二进制包,部署包括设置环境变量、配置服务器和创建主题。 在Linux环境下部署这些组件时,需要了解每个软件的依赖关系、配置选项以及如何与其他服务集成。例如,Redis可能需要...
matlab
操作系统课程设计基于C++实现的操作系统仿真虚拟页式存储管理项目源代码
内容概要:本文详细介绍了西门子S7-1500 PLC与V90伺服在定长切断应用中的具体实现方法和技术要点。首先,文章展示了如何利用TIA Portal V16平台配置工艺对象“CuttingAxis”,并解释了关键参数如每转脉冲数、丝杆导程、减速比等的作用。接着,针对可能出现的问题,如轴运行抖动、控制字状态丢失等进行了深入探讨,并提供了相应的解决措施,比如调整前馈参数、修改报文配置等。此外,还分享了一些提高系统性能的小技巧,例如启用动态限制选项、优化速度前馈与位置环配合等。最后,强调了该方案在包装机械和线材加工领域的广泛应用前景及其优势所在。 适合人群:从事工业自动化相关工作的工程师和技术人员,尤其是那些希望深入了解和掌握西门子PLC与伺服系统集成应用的专业人士。 使用场景及目标:适用于需要实现高精度定长切断操作的企业或项目,旨在帮助用户构建稳定可靠的控制系统,确保生产效率和产品质量。 其他说明:文中不仅涵盖了理论知识讲解,还包括大量实际案例分析以及代码示例,便于读者更好地理解和应用所学内容。同时提醒读者关注硬件配置、软件编程、参数调节等多个方面,以达到最佳效果。
2023年计算机二级Office选择题考前模拟.docx
目前可以新建目录,具体自己看代码
基于SpringBoot网上超市,系统包含两种角色:用户、管理员,系统分为前台和后台两大模块,主要功能如下: 1 管理员功能实现 商品信息管理 管理员可以通过提交商品名称查询商品,并查看该商品的用户评论信息。 用户管理 管理员通过提交用户名来获取用户资料,对有异常情况的用户信息进行修改,并可以详细查看用户资料。 商品评价管理 管理员审核用户对商品的评价,经过审核的评价才会显示,并可以统计商品评价信息。 已支付订单 管理员查看已支付的订单,并逐个进行订单发货。 2 用户功能实现 商品信息 用户可以收藏、立即购买商品,或对商品进行评价,同时将商品添加到购物车。 购物车 用户可以直接下单购买购物车中的商品,或删除购物车中的商品。 确认下单 用户选择地址,查看支付金额信息,以确认订单之前的所有细节。 已支付订单 用户查看已支付的订单,若对购买商品产生后悔,可以申请退款。 二、项目技术 开发语言:Java 数据库:MySQL 项目管理工具:Maven Web应用服务器:Tomcat 前端技术:Vue、 后端技术:SpringBoot框架 三、运行环境 操作系统:Windows、macOS都可以 JDK版本:JDK1.8以上版本都可以 开发工具:IDEA、Ecplise都可以 数据库: MySQL 5.7/8.0版本均可 Tomcat:7.x、8.x、9.x版本均可 Maven:任意版本都可以
1_媒工十佳决赛RUNDOWN 2.xlsx
c#联合opencvsharp开发的视觉源码程序 包含模板匹配,找线找圆,预处理等功能 全部源码,包含图像显示控件,绘制roi
基于STC89C52单片机的信号发生器20172086102何雨莉_3.zip
2023年西南大学网络与继续教育学院楼宇自动化作业答案.docx
内容概要:本文详细介绍了基于SpringBoot和Vue构建的智慧养老手表管理系统的关键技术和实现细节。系统主要由家长和养老院管理员两种角色组成,家长可以通过智能手表实时查看老人的健康数据,而管理员则可以进行更全面的数据管理和权限控制。文中重点讨论了家庭树功能的实现,包括使用MyBatis的动态SQL处理复杂的家庭关系查询,以及前端用Vue的el-tree组件展示家庭树结构。健康数据监控方面,系统利用SpringBoot的@Scheduled定时任务生成日报,并通过ECharts进行数据可视化。此外,还涉及了权限控制、加好友功能、熔断机制等多个方面的技术实现。 适合人群:具有一定编程经验的开发者,尤其是熟悉SpringBoot和Vue框架的工程师。 使用场景及目标:适用于开发类似智慧养老系统的项目,旨在提高老年人健康管理的效率和安全性。目标是通过智能手表实时监测老人健康状况,提供及时的健康报告和预警,同时确保系统的稳定性和安全性。 其他说明:文中提到的技术细节对于理解和实现类似的前后端分离架构非常有帮助,特别是关于MySQL 5.7的使用和优化,以及如何处理第三方设备接口的不稳定问题。
2023年计算机二级资料.doc
2023年电大数据结构形成性考核册.doc
网络工程师易错100题 2025年
2023年电子商务技能竞赛方案.doc
2024年大数据软件项目深度研究分析报告.docx