Spark编译

时间:2023-03-08 19:03:25

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版本即可。