Spark的运行版本使用mvn编译,已经集成在源码中。如果机器有外网或者配置了http代理,可以直接调用编译命令来进行编译。
windows&Linux命令如下:
./build/mvn \-Phadoop-x.y \
-Dhadoop.version=x.y.z \
-Pyarn \
-Dyarn.version=x.y.z \
-Phive -Phive-thriftserver \
-Dscala-2.10 \
-DskipTests clean package
参数含义:
-Phadoop-x.y :指定Hadoop的主版本号。
-Dhadoop.version=x.y.z \:可选,指定HDFS子版本号。
-Pyarn \:开启YARN功能。
-Dyarn.version=x.y.z \:可选,YRAN默认使用与HDFS相同的版本,如果不同,可使用此参数设置。
-Phive -Phive-thriftserver \:开启HDBC和Hive功能。
-Dscala-2.10 \:指定scala版本。
-DskipTests :忽略测试过程。
clean package:clean和package是编译目标。clean执行清理工作,比如清除旧打包痕迹,package用于编译和打包。
在Linux下若要打成tgz格式,可以使用./make-distribution.sh --name custom-spark --tgz来替换上面的./build/mvn。
例如:
./make-distrubution.sh \
--name spark-1.6.0-bin-hadoop2.6.0 --tgz \
-Phadoop-2.6 \
-Dhadoop.version=2.6.1 \
-Pyarn \
-Phive -Phive-thriftserver \
-DskipTests clean package
注意:spark1.x和spark2.x编译方式类似,只需根据具体情况匹配相应的hadoop和scala版本即可。