一、文檔說明
1.1斤斧、文檔描述
Spark官網(wǎng)上提供的是已經(jīng)編譯打包好了的軟件,這為我們學(xué)習(xí)和使用spark提供了方便霎烙,但是在真實的生產(chǎn)環(huán)境中部署spark組件撬讽,為了保證spark和hdfs以及yarn 的兼容性蕊连,我們需要自己來編譯spark源碼。本文描述了如何使用maven來編譯打包spark源碼
1.2游昼、閱讀對象
Spark 開發(fā)運維以及正在學(xué)習(xí)spark的同學(xué)
二甘苍、編譯打包介紹
2.1、編譯環(huán)境準(zhǔn)備
操作系統(tǒng):centos 6.8
JDK版本:jdk1.8.181(centos 6 系統(tǒng)中推薦使用1.8.121及以上的版本)
Maven:3.6.2(maven 中央倉庫配置為阿里云倉庫烘豌,倉庫地址見文末附錄1)
Spark源碼版本:spark-3.0.0-preview-rc2
2.2羊赵、編譯步驟
步驟1:在shell中先修改maven編譯時候的jvm參數(shù)
:> exportMAVEN_OPTS="-Xmx2g -XX:ReservedCodeCacheSize=512m"
步驟2:然后進入到spark-3.0.0-preview-rc2目錄下在shell 中輸入
:> cd /xxx/ spark-3.0.0-preview-rc2
步驟3:先執(zhí)行一遍clean install 命令,將spark的所有依賴全部安裝到本地扇谣,因為由于每個人的環(huán)境不同,很可能不能一次就成功編譯闲昭。強烈建議先執(zhí)行一遍此步驟
:> mvn -DskipTestsclean install
步驟4:等待命令執(zhí)行成功后在執(zhí)行如下編譯打包指令罐寨,在shell 中輸入
:> ./dev/make-distribution.sh--name?"spark3"?--tgz?"-Pyarn,Hadoop-provided,hadoop-2.7,parquet-provided,orc-provided,hive"
如果一直不能編譯成功,且不是應(yīng)為依賴下載不下來的原因序矩,請打開Hadoop的源碼鸯绿,閱讀Hadoop build 的方法,安裝編譯Hadoop所需要的依賴組件簸淀。然后再次執(zhí)行上面的編譯打包指令
附錄1:阿里云中央倉庫地址
???????????nexus-aliyun
???????????Nexus aliyun
???????????http://maven.aliyun.com/nexus/content/groups/public
如可以直接訪問外網(wǎng)瓶蝴,則不建議配置阿里云為中央倉庫