spark2.0.1源码编译
2024-09-18 19:20:47
一、编译源码步骤演示详解
. 编译spark环境要求
1、必须在linux系统下编译(以centos6.4为例)
2、编译使用的JDK版本必须是1.6以上(以JDK1.8为例)
3、编译需要使用Maven版本3.0以上(以Maven3.3.9为例)
4、编译需要使用Scala(以scala-2.11.8为例)
. 编译spark所需要的包
1、spark-2.0.1.tgz:下载spark编译的源码包,提供apache下载页面http://archive.apache.org/dist/spark/spark-2.0.1/
2、scala-2.11.8.tgz:提供下载页面 http://www.scala-lang.org/download/2.11.8.html
3、zinc-0.3.9.tar.gz:提供下载页面 http://pan.baidu.com/s/1boJ0nIR
注:2、3两步的包,可不用提前下,如不提供,则在编译时,会通过maven源自动下载下来,为编译时节省时间,可选取先下载后,再放到相应的目录下
=================================== 编译开始 ===================================
第一步:解压spark-2.0.1.tgz源码安装包
第二步:JDK、Maven安装及环境变量的配置,可参照上一篇hadoop编译中提到的来配置,在这不再详述;
第三步:进入/opt/work_dh/software/comm/spark-2.0.1/dev目录下,修改make-distribution.sh文件(注:此文件由于编译的版本一致,可能存在不同的目录下,请自行查找),修改内容如下:
将该文件中四个变量之前的值注释,改为对应版本的值即可;此步非必须,若不给定,它也会从maven源中下载,为节省编译时间,直接给定;
第四步:进入/opt/work_dh/software/comm/spark-2.0.1目录下的pom.xml文件,修改scala版本号,两处地方,如下图:(注:若scala就是spark2.0.1默认支持的版本,则此步跳过)
<scala.version>2.11.8</scala.version>
第五步:修改maven的镜像源,进入到/opt/work_dh/app/apache-maven-3.3.3/conf目录下,修改setting.xml文件,内容如下:
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
第六步:将上述下载的scala-2.11.8.tgz、zinc-0.3.9.tar.gz解压到spark源码包的build目录下,如下图所示:
第七步:使用make-distribution.sh方式进行编译,进入/opt/work_dh/software/comm/spark-2.0.1/dev目录(make-distribution.sh所在目录)下运行如下命令:
Apache编译:
./make-distribution.sh --tgz \
-Phadoop-2.6 \
-Dhadoop.version=2.7.3 \
-Pyarn \
-Phive -Phive-thriftserver
编译成功!看到如下界面后,说明编译成功了,在手动下载源码包情况,编译的时间大概需要半个小时
=================================== 编译结束 ===================================
最新文章
- Oracle客户端简易连接报错ORA-12154,TNS-03505
- Websocket通讯简析
- 常用prototype函数
- Stanford NLP学习笔记:7. 情感分析(Sentiment)
- jQuery小技巧
- 浅谈VBA
- javascript之DOM篇一
- Turn the pokers
- String、StringBuffer与StringBuilder差分
- iOS_17_控制开关_TabBarController_由storyboard道路
- iOS Storyboard适配问题
- 微信小程序之 3d轮播(swiper来实现)
- Docker概念学习系列之详谈Docker 的核心组件与概念(5)
- sql 查询所有子节点示例
- BZOJ BLO 1123 (割点)【双连通】
- 【随笔】nginx add_header指令的使用
- HDU 4311 Meeting point-1(曼哈顿距离最小)
- Vue笔记:使用 axios 发送请求
- 关于spark standalone模式下的executor问题
- C++ Standard Library