Spark-2.2.0源码编译及踩坑过程

版权声明: https://blog.csdn.net/suisongtiao1799/article/details/80223068

这几天在学习Spark,考虑到以后会涉及到修改源码,就干脆重源码编译开始学习了,不料编译过程中遇到了各种奇奇怪怪的坑,网上也没找到解决方案,所幸最后在错误日志的帮助下成功解决,这里做个记录,方便自己查看,也希望能帮到有需要的伙伴,第一次写博客,有写得不合理或者不对的地方,欢迎大家批评指正。

注意:很抱歉,未对该编译方法打的包进行测试就发了博文,最后测试该方法打的包是不能正常运行的,但没删该博文的原因在于,这算是一种解决问题的思路吧。另外在文章末尾新增编译成功且运行正常的编译方法.

废话不多说,直接进入正题
一、环境准备
1) JDK 1.8+
2) Maven 3.3.9+
3) Scala 2.10 /Scala 2.11.8
4) 下载解压Spark-2.2.0源码并
vim ./dev/make-distribution.sh
这里写图片描述

二、编译
1)根据你本地的Scala版本: ./dev/change-scala-version.sh 2.10 或者 ./dev/change-scala-version.sh 2.11
2)./dev/make-distribution.sh –name 2.6.0-cdh5.7.0 –tgz -Pyarn -Phadoop-2.6 -Dhadoop.version=2.6.0-cdh5.7.0 -Phive -Phive-thriftserver

三、可能遇到的坑及解决办法
这里写图片描述
解决步骤1:
按错误提示,加-rf :spark-hive-thriftserver_2.10从失败的地方重试,加-X显示详细错误信息
./dev/make-distribution.sh –name 2.6.0-cdh5.7.0 –tgz -Pyarn -Phadoop-2.6 -Dhadoop.version=2.6.0-cdh5.7.0 -Phive -Phive-thriftserver -rf :spark-hive-thriftserver_2.10 -X
这里写图片描述
解决步骤2:
1) cd 解压后的spark-2.2.0源码根目录
2) vim pom.xml
3) vim 命令搜索jetty
这里写图片描述
4)查找jetty版本
这里写图片描述
这里写图片描述

5)将jetty-servlet和jetty-server依赖新增到报错提示的/opt/package/spark-2.2.0/sql/hive-thriftserver模块下的pom文件,版本直接写上
cd /opt/package/spark-2.2.0/sql/hive-thriftserver
这里写图片描述

6)重新从失败的地方编译
./dev/make-distribution.sh –name 2.6.0-cdh5.7.0 –tgz -Pyarn -Phadoop-2.6 -Dhadoop.version=2.6.0-cdh5.7.0 -Phive -Phive-thriftserver -rf :spark-hive-thriftserver_2.10 -X
这里写图片描述

OK,一波三折,总算成功了
总结一下:遇到错误不要怕,首先百度,百度不到谷歌,谷歌不到自己再看看日志,源码之下无秘密,只要思想不滑坡,办法总比困难多,坑是踩不完的,当你是第一个踩坑的人时,更应该静下来分析问题、解决问题。

该方法打的包运行报错:
这里写图片描述

显然,上面的方法虽然编译成功了,但是最终的包是不能用的,最后附上编译成功且能用的编译组合

一、环境准备
1) JDK 1.8u152
2) Maven 3.5.2
3)Scala 2.11.8
4) 下载解压Spark-2.2.0源码并
vim ./dev/make-distribution.sh
这里写图片描述
5)添加cloudera的maven仓库:
这里写图片描述

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

二、编译
1) ./dev/change-scala-version.sh 2.11
2)

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

运行成功:
这里写图片描述

展开阅读全文

没有更多推荐了,返回首页