从零开始,手把手教你搭建Spark源码学习环境
今天来分享一篇关于如何从零开始搭建 Spark 源码学习环境的教程!本文出自我们一位从研一就开始准备的在校生的日常学习记录。
1.软件环境准备
以上软件需要安装好,并进行环境配置。


2.源码编译
(1)修改MAVEN_OPTS,增加Maven编译时内存的大小:
在Maven安装目录下找到bin/mvn.cmd文件,打开在文件中添加:
(2)运行Git中的git-bash.exe,然后在相应的spark目录下直接执行如下命令,进行源码编译:(耗时较长)。

源码编译的结果如下:

3.搭建IDEA阅读环境
(1)在IDEA界面直接open刚刚编译的源码文件。

(2)点击build开始构建(耗时较长)


(3)使用IDEA进行编译
a.为Maven工具设置JVM参数,命令如下:

b.在Maven面板中进行编译(耗时较长)

编译完成后的目标Jar文件存放在assembly/target/scala-2.11/jars目录下,将其添加到项目Example Module。添加步骤如下:

(4)运行Master和Worker(方便调试)
a.点击IDEA的“Run -> Edit Confgurations”菜单,在弹出的界面中单击左上角的加号,先添加Master的运行环境配置如下:

添加完成后点击运行Master进程。

出现上图说明运行成功了,然后从上面蓝色的框可以看出Master启动于spark://172.18.224.1:7077地址,而它的WebUI启动于http://windows10.microdone.cn:8080地址。(windows10.microdone.cn即为172.18.224.1)
b.点击IDEA的“Run -> Edit Confgurations”菜单,在弹出的界面中单击左上角的加号,先添加Worker的运行环境配置如下:

添加完成后点击运行Worker进程。

至此,已经完成了IDEA源码阅读环境的搭建
c.查看Mater和Worker的WebUI界面
Mater的WebUI界面

Worker的WebUI界面

至此,我们的Spark源码学习环境部署成功,可以愉快的进行Spark源码深入的学习了。

4.阅读源码示例
在第三部分启动了Spark Master和Worker,那就先从Spark的启动脚本看起,该脚本位于Spark源码中的sbin目录,该目录下包含如图所示:

启动脚本里在启动是需要加载spark-config 配置文件,这个配置文件主要作用是导入一些加载一些spark基本配置如conf 目录、PySpark环境变量。

启动脚本里接下来就是执行start-master.sh 和start-worker.sh,以启动Spark Master为例,设置master类、设置master节点host、port、启动load-saprk-env.sh、spark-daemon.sh等

好了,举例暂时就到这里,Spark启动的源码脚本也有不少内容,大家部署好环境可以自行debug测试,阅读代码哈。
