Spark2.3.0-cdh5.16.1编译

2020-05-24  本文已影响0人  guaren2009

本次编译的是spark2.3.0版本,基于Hadoop2.6.0-cdh5.16.1版本进行编译

这里提供编译好的包以及编译中需要的jar包的maven本地镜像

链接:https://pan.baidu.com/s/1YM5Jdqrb_XwxuUi6_gODZg

提取码:ouu0

复制这段内容后打开百度网盘手机App,操作更方便哦

一、编译环境

Vmware 虚拟机 centos7.5

maven3.3.9

scala2.11.8

git

scala需要2.11.8版本的 ,如果不是,编译过程中还会去下载2.11.8的包

二、开始编译

(2.1)解压源码

从 https://archive.apache.org/dist/spark/spark-2.3.0/   中下载源码包 spark-2.3.0.tgz 上传到服务器

(2.2)修改pom文件

在repositories标签中新增阿里云的maven仓库地址和cloudera的仓库地址

<repository>

  <id>aliyun</id>

  <name>cloudera Repository</name>

  <url>http://maven.aliyun.com/nexus/content/groups/public/</url>

</repository>

<repository>

  <id>cloudera</id>

  <name>cloudera Repository</name>

  <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url>

</repository>

(2.3)修改make-distribution.sh脚本

在 make-distribution.sh 脚本中注释掉 VERSION到SPARK_HIVE这些代码(这部分代码会在编译时检查一些版本信息,导致编译过程很慢)

并手动指定版本,如下图所示

[hadoop@hadoop dev]$ vim /home/hadoop/sourcecode/spark-2.3.0/dev/make-distribution.sh

(2.4)用命令编译

[hadoop@hadoop dev]$ cd /home/hadoop/sourcecode/spark-2.3.0

[hadoop@hadoop spark-2.3.0]$ ./dev/make-distribution.sh --name 2.6.0-cdh5.16.1 --tgz -Phadoop-2.6 -Dhadoop.version=2.6.0-cdh5.16.1 -Phive -Phive-thriftserver -Pyarn

(2.5)编译过程中遇到的问题

(2.5.1)缺少Zinc

因服务器环境缺少Zinc,导致编译过程中还需要去下载,第一次编译时还因为下载失败导致编译失败

(2.5.2)网络原因下不到jar包

本次编译网络还算好的,只遇到了一次

[ERROR] Failed to execute goal on project spark-yarn_2.11: Could not resolve dependencies for project org.apache.spark:spark-yarn_2.11:jar:2.3.0: Failed to collect dependencies at org.apache.hadoop:hadoop-yarn-server-web-proxy:jar:2.6.0-cdh5.16.1: Failed to read artifact descriptor for org.apache.hadoop:hadoop-yarn-server-web-proxy:jar:2.6.0-cdh5.16.1: Could not transfer artifact org.apache.hadoop:hadoop-yarn-server-web-proxy:pom:2.6.0-cdh5.16.1 from/to cloudera (https://repository.cloudera.com/artifactory/cloudera-repos/): Connection reset -> [Help 1]

解决方法:手动下载 org.apache.hadoop:hadoop-yarn-server-web-proxy:jar:2.6.0-cdh5.16.1 包安装到本地maven仓库即可

三、编译技巧

(1)在pom文件中添加aliyun的maven仓库和cloudera的仓库,加速编译并减少下载jar包失败的情况
(2)修改make-distribution.sh脚本,跳过耗时较长的检查版本时间

其它参考:http://spark.apache.org/docs/2.3.0/building-spark.html

四、编译成功

编译成功后,在spark的源码目录 /home/hadoop/sourcecode/spark-2.3.0 就能找到相应的编译后的包:spark-2.3.0-bin-2.6.0-cdh5.16.1.tgz

上一篇 下一篇

猜你喜欢

热点阅读