用Windows7+IDEA+SBT搭建Spark源代码调试与阅读环境

Spark源码是有Scala语言写成的,目前,IDEA对Scala的支持要比eclipse要好,大多数人会选在在IDEA上完成Spark平台应用的开发。因此,Spark源码阅读的IDE理所当然的选择了IDEA。今天将与大家分型Windows7+IDEA+SBT搭建Spark源代码调试与阅读环境。

 

实验环境准备:

JDK Java 语言的软件开发工具包(SDK)

参考网址: http://www.oracle.com/technetwork/java/javase/downloads/index.html

IDEA有两个版本:Ultimate Edition & Community Edition,后者是free的,而且完全能满足学习者所有的需求

参考网址:http://www.jetbrains.com/idea/download/

ScalaSpark是用Scala语言写成的,在本地编译执行需要这个包

参考网址:http://www.scala-lang.org/download/

SBTscala工程构建的工具

参考网址:http://www.scala-sbt.org/download.html

GitIDEA自动下载SBT插件时可能会用到的工具

参考网址:http://git-scm.com/download/

Spark Source Code:Spark源码

参考网址:http://git-scm.com/download/

 

第一部分:下载安装如上软件并实验环境测试准备:

JDK软件验证测试

完成后,在windows命令行中输入Java -version,检查是否识别此命令。
如果不识别,查看环境变量Path中是否有....\jdk\bin(我的电脑右键,属性 -> 高级系统设置 -> 环境变量),如果没有,自己手动添加Scala文件夹下的bin目录的路径。


Scala软件验证测试

完成后,在windows命令行中输入scala,检查是否识别此命令。
如果不识别,查看环境变量Path中是否有....\scala\bin(我的电脑右键,属性 -> 高级系统设置 -> 环境变量),如果没有,自己手动添加Scala文件夹下的bin目录的路径。

 

SBT软件验证测试:

运行SBT的安装程序,运行完成后,重新打开windows命令行,输入sbt,检查是否识别此命令。没有的话,手动配置环境变量,添加...\sbt\bin

运行完SBT的安装程序之后,并不意味着完成了sbt的安装,在windows命令放下输入sbt后,SBT会自动的下载安装它所需要的程序包,请耐心等待全部下载成功。



Git软件验证测试:

运行Git的安装程序,安装完成后,重新打开windows命令行,检查时候识别git命令。或者直接启动GitHub,Inc/Git Shell程序。


安装IDEA软件

按要求直接安装即可。

 

第二部分:IDEA的Scala插件安装:

1、选择FileàSetting


2、选择右侧的 Install Jetbrains Plugin, 在弹出窗口的左侧输入scala,然后点击安装,如下图所示。


3、scala插件安装结束,需要重启idea生效

 

第三部分:加压缩官网下载的源代码包或者找到通过Git抽取的Spark源文件:

         我用的是spark-1.1.1版本(最新版本),由于idea 13已经原生支持sbt,所以无须为idea安装sbt插件。

源码下载(用git工具):

# Masterdevelopment branch

gitclone git://github.com/apache/spark.git

# 1.1 maintenancebranch with stability fixes on top of Spark 1.1.1

gitclone git://github.com/apache/spark.git -b branch-1.1

源码更新(用git工具同步跟新源码):

gitclone https://github.com/apache/spark.git

 

注解:这用IDEA导入Spark源代码时,可以省略下面这些操作,可以直接进入第四部分,实际上在用IDEA导入Spark源代码时,里面了包含了如下操作,即生成idea工程(记得是进入源代码项目中,我下载的源代码放在E:\Spark计算框架的研究\spark_1_1_1_idea文件夹中),命令如下:

先用命令sbt,之后用命令gen-idea,如下图所示:



出现如下错误:



错误原因及解决方案由于文件路径中出现了中文,解决方案,将中文路径改为英文路径。

第四部分:在IDEA中导入Spark工程

1、在主界面的菜单栏File下,选Import Project,找到解压之后的spark工程文件夹,我暂时选的为(E:\Spark计算框架的研究\spark_1_1_idea)文件夹。

(解压缩的Spark源代码可以先不用sbt工具生成ieda工程的,IDEA内在导入文件时,直接包含了sbt生成idea工程的功能)

 

2、选择项目类型为sbt project,然后点击next。(这个选项只有在安装了IDEA的Scala插件才会有)。


3、确定SBT project项目的位置,(注解:有些blog说是——选择Project SDKJDK,不解,我在此标明一下),最好勾上Use auto-import,然后点击Finish。这时,IDEA会自动下载安装SBT所需的各个包,没有装Git的话可能会报错。

第一次解释后,出现如下错误。


继续操作一遍出现如下错误:(注解:和单独用cmd命令sbt,之后gen-idea,是一样的错误)


错误原因及解决方案由于文件路径中出现了中文,解决方案,将中文路径改为英文路径。本文我从新解压Spark-1.1.1.tgz源代码放入如下路径(E:\spark_1_1_1_idea_English),按第四部分中的1,2,3再重复操作一篇。操作成功了。如下所示:

 

4、导入完成

导入完成后,自动打开工程,要等一段时间,等待sbt对这个工程进行编译。编译完成后出现如下窗口。在出现的窗口中就可以进行Spark源代码进行研究了,是不是感觉很有成就感,现在就开始研究只有2万行左右的Spark核心源代码吧。如果你觉得白色背景不好看,可以换上很酷的黑色背景,设置步骤如下:

File à Settings à Appearance à Theme 选择Darcula,之后重新启动即可。



参考的Blog网址:

IntelliJ Scala plugin blog

http://blog.jetbrains.com/scala/2012/12/28/a-new-way-to-compile/

 

ApacheSpark源码走读之18 -- 使用Intellij idea调试Spark源码 - 徽沪一郎

http://www.tuicool.com/articles/3yy67fU

 

Spark作业代码(源码)IDE远程调试-其它

http://www.68dl.com/bigdata_tech/2014/1106/17930.html

 

Windows + IDEA + SBT 打造Spark源码阅读环境 2014-10-15 by guozhongxin

http://www.guozhongxin.com/pages/2014/10/15/spark_source_code.html

 

Spark开发环境的配置

http://cn.soulmachine.me/blog/20140130/

 

想研读下spark的源码,怎么搭阅读和调试的环境呢?

http://www.zhihu.com/question/24869894/answer/29269940

 

没有更多推荐了,返回首页