Spark源码学习-windows使用idea搭建源码阅读集群

来源:互联网 发布:淘宝记账软件 编辑:程序博客网 时间:2024/05/21 06:41

最近准备开始看spark源码,第一步当然是要搭建一个舒适的spark源码阅读环境,通过单步调试才能顺藤摸瓜的理清具体脉络,有助与提高阅读效率。在搭建环境过程中,遇到一些奇怪的错误,但居然都鬼使神差的搞定了,人品啊,哈哈哈

Spark的源码使用scala语言编写的,说到scala的IDE工具,首选当然是idea,idea安装scala插件我这里就详说了,除了idea外,我们还需要安装的软件有:

  • maven
  • sbt
  • git

1. 下载spark源码

对于源码,可以使用git从github上下载,也可以在spark官网上直接下载
http://spark.apache.org/
https://github.com/apache/spark.git
下载完成后,解压到具体目录。

2. 导入到idea(已安装scala插件)

直接选择import project

选择刚刚解压的spark目录

next 选择sbt项目

一直next,直至导入完成

慢慢等待吧,这是在搞定sbt依赖,可以选择去吃个饭,再过来看看。

3. 编译

在使用idea进行源码编译过程中,会遇到很多错误,基本上都是由于依赖引发,这里我就我所遇到的问题
问题1:

这个问题我弄好很久,最终在网上找到答案,原因flume-sink所需的部分源文件idea不会自动下载,所有编译时不能通过。
解决方法:
打开View -> Tool Windows -> Maven Projects

右键,选择Generate Sources and Update Folders

随后,Intellij IDEA会自动下载Flume Sink相关的包,搞定这个错误

其他有关编译报错问题,可以参考这个链接
http://apache-spark-user-list.1001560.n3.nabble.com/

4. 调试LogQuery

我们选择对LogQery类进行调试,当然也可以在example下面选择其他的测试类或者自己编写类,方法类似

  • Run->Edit configurations
  • 添加Application,注意右侧窗口中配置项内容的填写,分别为Main class, vm options, working directory, use classpath of module

    -Dspark.master=local 指定Spark的运行模式,可根据需要作适当修改。

使用ctrl+n找到LogQuery类,可以先查看具体的测试代码,

可以直接运行,或者对源代码打断点进行单步调试

大功告成!!!!

原创粉丝点击