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下载加速的效果

        <!-- 阿里云中央仓库 -->
     <mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>
    </mirror>

设置pom.xml文件

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

<repository>
      <id>clouders</id>
      <name>clouders Repository</name>
      <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url>
</repository>

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 "<id>hive</id>";\
#    # 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 ../
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值