spark源码编译后记

4 篇文章 0 订阅
1 篇文章 0 订阅

最近准备动手实践一下spark的源码编译安装,折腾了好久,最后也被折磨了好久,在此记录一下并安抚一下一连几天来郁闷的心情。

先陈述一下背景:

之前,我从spark官方的github网页上下载下来了一个最新的master分支的源码包(不是git clone),版本是1.6.2的zip。

编译之前也各种百度,按照网上资料的步骤一步一步走。经过了漫长蛋疼的等待时间之后,报错了,提示找不到jar依赖,只好又去翻个墙。最后顺利编译成功。
按照前辈们的意思,会在编译后的文件夹下,找到一个类似于 spark-assembly-1.6.x-hadoop2.x.0.jar 这样的一个jar包,可我死活就是在编译后的文件夹(我这里是spark-master(源码根目录)的assembly/target/scala-2.11/jars)下找不到。于是又是一通乱搜,最后连google都没能帮到我,于是又转用sbt,希望能生一个assebmly的jar。

结果成功倒是成功了,也从控制台打印的日志里看到了输出目录,在一个叫 external的文件夹里找到了带 assembly的jar。可是都是这种命名的jar:spark-streaming-kafka-0-8-assembly-2.0.0-SNAPSHOT.jar,试了好多次都是这样,虽然这些jar里边也有比较全的依赖,也能做开发用,但是像我这种有代码纠结症的人怎么能忍!
于是决定从官网下载一个源码再编译试试。下载的界面如下:

下载

下载完成之后解压,进入源码根目录,按照官方的编译教程

http://spark.apache.org/docs/latest/building-spark.html

根据自己具体情况,执行相应的命令即可,当然,前提是你已经安装好了jdk、scala,以及maven,并设置好了环境变量。

还有,在第一次下载下来的时候,没有看到下边的提示:Note。点击那个蓝色字: with Scala 2.11 support(上边的图时候来补的,没想到spark2.0的时候,已经是使用scala2.11进行编译的),再次进入到编译教程文档,里边提到了关于在scala2.11下的一些配置修改:

./dev/change-scala-version.sh 2.11
mvn -Pyarn -Phadoop-2.4 -Dscala-2.11 -DskipTests clean package

按照提示,修改完执行即可,完成之后在target子目录下可以看到合成jar包:

assembly

解决完纠结了几天的问题之后,不禁感叹,哎,同样是源码编译,差距咋这么大捏!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值