從零開始,手把手教你搭建Spark源碼學(xué)習(xí)環(huán)境
今天來分享一篇關(guān)于如何從零開始搭建 Spark 源碼學(xué)習(xí)環(huán)境的教程!本文出自我們一位從研一就開始準(zhǔn)備的在校生的日常學(xué)習(xí)記錄。
1.軟件環(huán)境準(zhǔn)備
以上軟件需要安裝好,并進(jìn)行環(huán)境配置。


2.源碼編譯
(1)修改MAVEN_OPTS,增加Maven編譯時內(nèi)存的大?。?/span>
在Maven安裝目錄下找到bin/mvn.cmd文件,打開在文件中添加:
(2)運(yùn)行Git中的git-bash.exe,然后在相應(yīng)的spark目錄下直接執(zhí)行如下命令,進(jìn)行源碼編譯:(耗時較長)。

源碼編譯的結(jié)果如下:

3.搭建IDEA閱讀環(huán)境
(1)在IDEA界面直接open剛剛編譯的源碼文件。

(2)點(diǎn)擊build開始構(gòu)建(耗時較長)


(3)使用IDEA進(jìn)行編譯
a.為Maven工具設(shè)置JVM參數(shù),命令如下:

b.在Maven面板中進(jìn)行編譯(耗時較長)

編譯完成后的目標(biāo)Jar文件存放在assembly/target/scala-2.11/jars目錄下,將其添加到項(xiàng)目Example Module。添加步驟如下:

(4)運(yùn)行Master和Worker(方便調(diào)試)
a.點(diǎn)擊IDEA的“Run -> Edit Confgurations”菜單,在彈出的界面中單擊左上角的加號,先添加Master的運(yùn)行環(huán)境配置如下:

添加完成后點(diǎn)擊運(yùn)行Master進(jìn)程。

出現(xiàn)上圖說明運(yùn)行成功了,然后從上面藍(lán)色的框可以看出Master啟動于spark://172.18.224.1:7077地址,而它的WebUI啟動于http://windows10.microdone.cn:8080地址。(windows10.microdone.cn即為172.18.224.1)
b.點(diǎn)擊IDEA的“Run -> Edit Confgurations”菜單,在彈出的界面中單擊左上角的加號,先添加Worker的運(yùn)行環(huán)境配置如下:

添加完成后點(diǎn)擊運(yùn)行Worker進(jìn)程。

至此,已經(jīng)完成了IDEA源碼閱讀環(huán)境的搭建
c.查看Mater和Worker的WebUI界面
Mater的WebUI界面

Worker的WebUI界面

至此,我們的Spark源碼學(xué)習(xí)環(huán)境部署成功,可以愉快的進(jìn)行Spark源碼深入的學(xué)習(xí)了。

4.閱讀源碼示例
在第三部分啟動了Spark Master和Worker,那就先從Spark的啟動腳本看起,該腳本位于Spark源碼中的sbin目錄,該目錄下包含如圖所示:

啟動腳本里在啟動是需要加載spark-config?配置文件,這個配置文件主要作用是導(dǎo)入一些加載一些spark基本配置如conf 目錄、PySpark環(huán)境變量。

啟動腳本里接下來就是執(zhí)行start-master.sh 和start-worker.sh,以啟動Spark Master為例,設(shè)置master類、設(shè)置master節(jié)點(diǎn)host、port、啟動load-saprk-env.sh、spark-daemon.sh等

好了,舉例暫時就到這里,Spark啟動的源碼腳本也有不少內(nèi)容,大家部署好環(huán)境可以自行debug測試,閱讀代碼哈。
