spark2.1.0的源碼編譯


本文介紹spark2.1.0的源碼編譯

1.編譯環境:

Jdk1.8或以上

Hadoop2.7.3

Scala2.10.4

必要條件:

Maven 3.3.9或以上(重要)

點這里下載

http://mirror.bit.edu.cn/apache/maven/maven-3/3.5.2/binaries/apache-maven-3.5.2-bin.tar.gz

 

修改/conf/setting.xml

<mirror>

        <id>alimaven</id>

        <name>aliyun maven</name>

        <url>http://maven.aliyun.com/nexus/content/groups/public/</url>

        <mirrorOf>central</mirrorOf>

</mirror>

 

 

 

 

 

2. 下載http://spark.apache.org

 

2.1Download

 

 

 

2.2. 解壓

tar -zxvf spark-2.1.0.tgz

 

3. 進入主目錄,修改編譯文件,進行編譯

修改spark-2.1.0/dev目錄下的make-distribution.sh ,注釋掉原來的指定版本,可以節省時間

vi make-distribution.sh

 

溫馨提示:

該文件中如圖所示,czf前少個“-”,需要自己修改

 

 

注意:

如果你用的hadoop版本是cdh的,那么需要修改spark根目錄pom.xml文件,添加cdh的依賴

<repository>
        <id>cloudera</id>
        <name>cloudera Repository</name>
        <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url>
</repository>
添加在<repositorys></repositorys>里

 

 

3.1設置內存

 

export MAVEN_OPTS="-Xmx2g -XX:ReservedCodeCacheSize=512m"

 

3.2編譯

 

./dev/make-distribution.sh \

--name 2.7.3 \

--tgz   \

-Pyarn \

-Phadoop-2.7 \  -Dhadoop.version=2.7.3 \

-Phive -Phive-thriftserver \

-DskipTests clean package

 

 

 

接下來就靜靜地等待吧,第一次編譯時間可能很長,幾小時或十幾小時,取決於網速,因為要下載很多包

 

命令解釋:

--name 2.7.3  ***指定編譯出來的spark名字,name=

--tgz ***壓縮成tgz格式

-Pyarn \ ***支持yarn平台

-Phadoop-2.7 \  -Dhadoop.version=2.7.3 \ ***指定hadoop版本為2.7.3

-Phive -Phive-thriftserver \ ***支持hive

-DskipTests clean package ***跳過測試包

 

 

 

 

 

 

好了,spark的編譯到此就結束了

 

下面分享一下編譯遇到的一些問題

 

錯誤1:

 

Failed to execute goal on project spark-launcher_2.11:

Could not resolve dependencies for project org.apache.spark:spark-launcher_2.11:jar:2.1.0:

Failure to find org.apache.hadoop:hadoop-client:jar:hadoop2.7.3 in https://repo1.maven.org/maven2 was cached in the local repository,

resolution will not be reattempted until the update interval of central has elapsed or updates are forced -> [Help 1]

解決:遇該錯誤,原因可能是編譯命令中有參數寫錯。。。。(希望你沒遇到大笑​)

 

錯誤2:

 

+ tar czf 'spark-[info] Compile success at Nov 28, 2017 11:27:10 AM [20.248s]-bin-2.7.3.tgz' -C /zhenglh/new-spark-build/spark-2.1.0 'spark-[info] Compile success at Nov 28, 2017 11:27:10 AM [20.248s]-bin-2.7.3'

tar (child): Cannot connect to spark-[info] Compile success at Nov 28, 2017 11: resolve failed

編譯的結果沒打包:

spark-[info] Compile success at Nov 28, 2017 11:27:10 AM [20.248s]-bin-2.7.3

這個錯誤可能第一次編譯的人都會遇到

解決:見溫馨提示吐舌頭


免責聲明!

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



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