编译方式一:maven
export MAVEN_OPTS="-Xmx2g -XX:MaxPermSize=512M -XX:ReservedCodeCacheSize=512m"
mvn -Pyarn -Phive -Dhadoop.version=2.3.0-cdh5.0.0 -Dyarn.version=2.3.0-cdh5.0.0 -DskipTests clean package
参数说明:
-Pyarn:支持yarn
-Phive:Spark SQL中支持Hive
-Dhadoop.version:hadoop版本号
-Dyarn.version:yarn版本号
编译方式二:sbt
SPARK_HADOOP_VERSION=2.3.0-cdh5.0.0 SPARK_YARN=true SPARK_HIVE=true sbt/sbt assembly
参数说明:同编译方式一
编译方式三:make-distribution.sh
./make-distribution.sh --hadoop 2.3.0-cdh5.0.0 --with-yarn --with-hive --tgz
参数说明:注意要严格按照如下参数顺序(可参考make-distribution.sh)
--hadoop VERSION:对应的Hadoop版本,默认为1.0.4
--with-yarn:是否支持YARN,默认不支持
--with-hive:是否支持在Spark SQL 中使用hive,默认不支持
--with-tachyon:是否支持Tachyon,默认不支持
--tgz:在根目录下生成 spark-$VERSION-bin.tgz,默认不生成
--name NAME:和--tgz结合可以生成spark-$VERSION-bin-$NAME.tgz的部署包,默认NAME为hadoop的版本号
Spark1.0源码编译