天天看點

Spark編譯與打包

編譯打包

  Spark支援Maven與SBT兩種編譯工具,這裡使用了Maven進行編譯打包;

  在執行make-distribution腳本時它會檢查本地是否已經存在Maven還有目前Spark所依賴的Scala版本,如果不存在它會自動幫你下載下傳到build目錄中并解壓使用;Maven源最好配置成OSChina的中央庫,這下載下傳依賴包比較快;

  耐心等待,我編譯過多次是以沒有下載下傳依賴包,大概半個小時左右編譯完成;注意:如果使用的是Java 1.8需要給JVM配置堆與非堆記憶體,如:export MAVEN_OPTS="-Xmx1.5g -XX:MaxPermSize=512M -XX:ReservedCodeCacheSize=512m";

  進入Spark根目錄下,執行:

./make-distribution.sh --tgz

 --tgz 參數是指編譯後生成tgz包  
 - PHadoop 支援Hadoop
 -Pyarn :支援yarn
 -Phive :支援hive
 --with-tachyon:支援tachyon記憶體檔案系統
 -name:與--tgz一起用時,name代替Hadoop版本号

 ./make-distribution.sh --tgz --name 2.6.0 -Pyarn -Phadoop-2.6 -Phive 
           

   開始編譯檢查本地環境,如不存在合适的Scala與Maven就在背景下載下傳;

Spark編譯與打包

編譯中:

Spark編譯與打包

編譯完成并打包生成tgz:

Spark編譯與打包

  

編譯完成後把生成的檔案拷貝到目前Spark的dist目錄中并且打包生成spark-1.5.3-SNAPSHOT-bin-2.2.0.tgz檔案;

Spark編譯與打包

文章首發位址:Solinx

http://www.solinx.co/archives/558