大家好,今天小编来为大家解答以下的问题,关于源码分享网站架设,网站源码分析这个很多人还不知道,现在让我们一起来看看吧!
点击卡片“大数据实战演练”,
回复“资料”可领取独家整理的学习资料!
众所周知,要研究Kafka,阅读Kafka源码是必不可少的环节。因此,本文将介绍如何使用idea加载Kafka源码并编译的具体步骤。由于Kafka核心模块是用Scala语言开发,用Gradle编译和构建的,因此下面先介绍相关环境的安装配置。
说明:
运行环境:windows10
Kafka版本:1.1.1
idea版本:2020.03
一、源码下载
https://github.com/apache/kafka/archive/refs/tags/1.1.1.tar.gz
如果下载缓慢,可使用该网站加速下载:https://shrill-pond-3e81.hunsh.workers.dev/
得到源码之后,最好执行下gitinit、gitadd.、gitcommit”xxx”命令,这样后续文件的变化,在git上都能追溯到。
二、环境配置
1、Gradle
首先确认Gradle版本,打开build.gradle文件,发现gradleVersion=”4.8.1″。
2、Scala
然后再确认Scala版本,打开gradle.properties文件,可以看到scalaVersion是2.11.12。
三、源码编译
强烈建议先别用idea等工具打开项目!!!
1、编译之前,建议先配置gradle版本库为阿里源:
maven{url’https://maven.aliyun.com/repository/public’}
可以先用Sublime或Notepad++来编译文件:
2、执行gradle命令,会生成gradlew、gradlew.bat、gradle/wrapper目录。
四、本地运行kafka
1、执行gradlewidea命令。
2、idea安装Scala插件
插件安装完,需要重启idea才能生效。
3、用idea打开项目,并启动
用idea打开项目后,多执行几次“ReloadAllGradleProjects”按钮。
将config目录下的log4j.properties文件拷贝到core/src/main/resources目录下。
修改config/server.properties文件,修改log.dirs、zookeeper.connect配置。
配置Application启动类
启动成功:
五、命令测试
查看topic列表.\\bin\\windows\\kafka-topics.bat–list–zookeeper192.168.62.66:2181/kafka1
六、可能遇到的错误集锦
1、Failedtoapplyplugin[id’org.scoverage’]
2、有的jar包找不到
将C:\\Users\\xxx\\.gradle目录删掉,重新加载项目,重新生成。
3、运行时乱码
如果还不行,可参考:https://cloud.tencent.com/developer/article/1795283
4、Failedtoloadclass”org.slf4j.impl.StaticLoggerBinder”.
在build.gradle文件中添加相关依赖(大约在594行):
project(‘:core’){println”Buildingproject’core’withScalaversion${versions.scala}”applyplugin:’scala’applyplugin:”org.scoverage”archivesBaseName=”kafka_${versions.baseScala}”dependencies{…(省略)//添加以下两个依赖//https://mvnrepository.com/artifact/org.slf4j/slf4j-apicompilegroup:’org.slf4j’,name:’slf4j-api’,version:’1.7.25’//https://mvnrepository.com/artifact/org.slf4j/slf4j-log4j12compilegroup:’org.slf4j’,name:’slf4j-log4j12′,version:’1.7.25′}
解决。
5、错误:找不到或无法加载主类kafka.admin.TopicCommand
执行.\\bin\\windows\\kafka-topics.bat会报kafka.admin.TopicCommand错误。
不知道为什么,执行了一下core模块的gradlebuild,虽然命令失败了,但是又试了试.\\bin\\windows\\kafka-topics.bat发现执行正常了。
七、总结
以上就是构建Kafka源码环境的所有步骤了。只有搭建好了Kafka的源码编译环境,你才能更方便地debug某一功能,梳理其中逻辑。觉得本文写的不错,欢迎右下角点赞、在看、转发哟~———-END———-
分享一下我对ambari二次开发的一些理解~
Kafka的幂等性是什么意思,如何实现呢?
Kafka精进|Producer端核心参数及调优建议
悄悄掌握Kafka常用命令,再也不用全网搜索了(建议收藏)
解惑|kafka集群三节点下,挂掉一个节点,为什么消费者消费不到数据了
kafka如何对topic分区replicaleader进行负载均衡
必会|教你如何重新分布kafka分区、增加分区副本数
最后说一句(求关注,别白嫖我)
扫一扫,我们的故事就开始了。
动动小手,让更多需要的人看到~
关于本次源码分享网站架设和网站源码分析的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。