Spark编译

1. 选择spark版本

在生产环境中,使用的spark安装文件都是自编译的,所以必须自己编译源码。首先,确认要使用的spark版本,这里,我选择spark 1.6.1 ,到官网(http://spark.apache.org/downloads.html)下载对应版本的source code。

Spark编译_第1张图片
选择某版本源码

2.编译方法:

编译源码参考官方文档(http://spark.apache.org/docs/1.6.1/),注意需要选择对应spark版本文档。在对应版本文档中,找到相应的编译文档:

Spark编译_第2张图片
编译help文档

编译时,需要根据我们已经安装hadoop版本来确定参数,我是用的版本是:hadoop-2.5.0-cdh5.3.6

编译代码:

./make-distribution.sh --tgz  -Phadoop-2.4 -Dhadoop.version=2.5.0-cdh5.3.6 -Phive -Phive-thriftserver -Pyarn

cd 到spark源码目录,修改脚本:make-distribution.sh,如下部分需要修改:

VERSION=$("$MVN" help:evaluate -Dexpression=project.version $@ 2>/dev/null | grep -v "INFO" | tail -n 1)
SCALA_VERSION=$("$MVN" help:evaluate -Dexpression=scala.binary.version $@ 2>/dev/null\
    | grep -v "INFO"\
    | tail -n 1)
SPARK_HADOOP_VERSION=$("$MVN" help:evaluate -Dexpression=hadoop.version $@ 2>/dev/null\
    | grep -v "INFO"\
    | tail -n 1)
SPARK_HIVE=$("$MVN" help:evaluate -Dexpression=project.activeProfiles -pl sql/hive $@ 2>/dev/null\
    | grep -v "INFO"\
    | fgrep --count "hive";\
    # Reset exit status to 0, otherwise the script stops here if the last grep finds nothing\
    # because we use "set -o pipefail"
    echo -n)

改为:

VERSION=1.6.1
SCALA_VERSION=2.10.4
SPARK_HADOOP_VERSION=2.5.0-cdh5.3.6
SPARK_HIVE=1

spark版本、scala版本、spark使用hadoop版本、是否支持hive(1为支持)

你可能感兴趣的:(Spark编译)