Spark源碼編譯


一、源碼下載

spark源碼下載:http://spark.apache.org/downloads.html 

下載各個歷史版本的源碼包在這里下載:https://archive.apache.org/dist/spark/

我下載的是:spark-2.1.0.tgz

 

二、編譯源碼

1、編譯環境:MacBookPro10.14.5

java version: 1.8.0

scala version: 2.11.8

maven version: 3.3.9

 

2、解壓源碼包和編譯: tar -zxvf spark-2.1.0.tgz

進入spark-2.1.0目錄進行編譯:

./build/mvn -Phadoop-2.7 -Pyarn -Dhadoop.version=2.7.3 -Phive -Phive-thriftserver clean package -Dmaven.test.skip=true

參數介紹:
-Phadoop:Hadoop版本號,默認版本2.6.5;
-Dhadoop.version: 同-Phadoop;
-Pyarn :是否支持Hadoop YARN;
-Phive:是否在Spark SQL 中支持hive,hive默認版本1.2.1;
-Phive-thriftserver:同-Phive;
-Dmaven.test.skip=true:不執行測試用例,也不編譯測試用例類;

 

三、遇到的問題

1、下載源碼包失敗,進行spark源碼編譯時,會下載一些對應的依賴包,如下圖所示下載到22.2%就失敗了

解決方法:

編輯./bulid/mvn,修改對應的鏈接地址:

把這兩個鏈接:

curl --progress-bar -L http://downloads.typesafe.com/scala/2.11.8/scala-2.11.8.tgz

curl --progress-bar -L http://downloads.typesafe.com/zinc/0.3.15/zinc-0.3.15.tgz

修改成:

curl --progress-bar -L http://downloads.lightbend.com/scala/2.11.8/scala-2.11.8.tgz

curl --progress-bar -L http://downloads.lightbend.com/zinc/0.3.15/zinc-0.3.15.tgz

 

2、編譯到一半就失敗了,報錯如圖:

解決方法:

進入maven的倉庫目錄:

cd ~/.m2/repository/javax/validation/validation-api/1.1.0.Final/

刪除錯誤的jar包,重新編譯的時候maven會重新下載對應的jar包。

 

成功編譯如下圖:

 

編譯好的源碼,直接導入IDEA中就可以調試和閱讀spark源碼了。 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM