spark的编译

1.下载spark源码包
2.下载scala
3.下载maven
4.防止maven内溢出:

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

5.在spark目录下,有pom文件的那里 执行:
  执行maven安装
 

./build/mvn -Pyarn -Phadoop-2.7 -Dhadoop.version=2.7.7 -Phive -Phive-thriftserver -Pyarn -DskipTests clean package


6.打包:
 

./dev/make-distribution.sh --name custom-spark --tgz -Psparkr -Phadoop-2.7

 
   我们可以使用Spark源码目录中的dev下的make-distribution.sh脚本,官方提供的编译命令如下:
       

./dev/make-distribution.sh --name custom-spark --tgz -Psparkr -Phadoop-2.4 -Phive -Phive-thriftserver -Pmesos -Pyarn

    参数说明:
        --name:指定编译完成后Spark安装包的名字
        --tgz:以tgz的方式进行压缩
        -Psparkr:编译出来的Spark支持R语言
        -Phadoop-2.4:以hadoop-2.4的profile进行编译,具体的profile可以看出源码根目录中的pom.xml中查看
        -Phive和-Phive-thriftserver:编译出来的Spark支持对Hive的操作
        -Pmesos:编译出来的Spark支持运行在Mesos上
        -Pyarn:编译出来的Spark支持运行在YARN上

        那么我们可以根据具体的条件来编译Spark,比如我们使用的Hadoop版本是2.6.0-cdh5.7.0,并且我们需要将Spark运行在YARN上、支持对Hive的操作,那么我们的Spark源码编译脚本就是:
            ./dev/make-distribution.sh --name develop-scl --tgz -Pyarn -Phadoop-2.7 -Phive -Phive-thriftserver -Dhadoop.version=2.7.7  -U

相关推荐