Spark2.4.4源码编译

Spark2.4.4源码编译

环境准备

安装好软件,配置好环境变量,并检查是否生效。

jdk1.8.0_45 
maven 3.6.3
scala2.12.10

配置阿里仓库

maven 3.6.3 : 需要修改maven的安装目录下的conf/settings.xml文件中添加如下配置,以达到jar下载加速的效果

        
     
      alimaven
      aliyun maven
      http://maven.aliyun.com/nexus/content/groups/public/
      central
    

设置pom.xml文件

如果要编译对应的cdh版本,需要在源码的根目录下的pom文件中添加如下的仓库。 添加 cdh的仓库。


      clouders
      clouders Repository
      https://repository.cloudera.com/artifactory/cloudera-repos/

maven方式

设置maven编译内存

如果报oom,要把内存调大

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

使用maven命令编译源码

mvn -Pyarn -Phive -Phive-thriftserver -Phadoop-2.6 -Dhadoop.version=2.6.0-cdh5.16.2 -DskipTests clean package

dev/make-distribution.sh方式(生产推荐)

命令解释:

--name 2.6.0-cdh5.16.2  ***指定编译出来的spark名字,name=

--tgz ***压缩成tgz格式

-Pyarn \ ***支持yarn平台

-Phadoop-2.6 \  -Dhadoop.version=2.6.0-cdh5.16.2 \ ***指定hadoop版本为2.6.0-cdh5.16.2

-Phive -Phive-thriftserver \ ***支持hive

-DskipTests clean package ***跳过测试包

修改make-distribution.sh以跳过检查

首先修改脚本:在spark源码包根目录下执行如下命令

vi dev/make-distribution.sh

注释掉以下内容:位于文件中的120~136行。

#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=2.4.4
SCALA_VERSION=2.12
SPARK_VERSION=2.6.0-cdh5.16.2
SPARK_HIVE=1

修改后保存退出。在源码包根目录指定以下命令:

./dev/make-distribution.sh \
--name 2.6.0-cdh5.16.2 \
--tgz \
-Dhadoop.version=2.6.0-cdh5.16.2 \
-Phadoop-2.6 \
-Phive -Phive-thriftserver \
-Pyarn

编译后的文件

[hadoop@JD spark-2.4.4]$ ll
-rw-rw-r--  1 hadoop hadoop 268896048 Jan  9 17:44 spark-2.4.4-bin-2.6.0-cdh5.16.2.tgz

解压文件到app目录下

[hadoop@JD spark-2.4.4]$ tar -zxvf spark-2.4.4-bin-2.6.0-cdh5.16.2.tgz -C ../

你可能感兴趣的:(Spark)