一、编译源码步骤演示详解

. 编译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

编译成功!看到如下界面后,说明编译成功了,在手动下载源码包情况,编译的时间大概需要半个小时

===================================  编译结束   ===================================

最新文章

  1. Oracle客户端简易连接报错ORA-12154,TNS-03505
  2. Websocket通讯简析
  3. 常用prototype函数
  4. Stanford NLP学习笔记:7. 情感分析(Sentiment)
  5. jQuery小技巧
  6. 浅谈VBA
  7. javascript之DOM篇一
  8. Turn the pokers
  9. String、StringBuffer与StringBuilder差分
  10. iOS_17_控制开关_TabBarController_由storyboard道路
  11. iOS Storyboard适配问题
  12. 微信小程序之 3d轮播(swiper来实现)
  13. Docker概念学习系列之详谈Docker 的核心组件与概念(5)
  14. sql 查询所有子节点示例
  15. BZOJ BLO 1123 (割点)【双连通】
  16. 【随笔】nginx add_header指令的使用
  17. HDU 4311 Meeting point-1(曼哈顿距离最小)
  18. Vue笔记:使用 axios 发送请求
  19. 关于spark standalone模式下的executor问题
  20. C++ Standard Library

热门文章

  1. 双目测距+点云——使用MiddleBurry数据集的图片
  2. Python爬取cnnvd
  3. Java 进阶P-8.9+P-8.10
  4. 你想成为.Net 7的技术高手吗?来这里看看
  5. spring-in-action-day04-配置属性 @ConfigurationProperties
  6. P23_列表渲染
  7. .NET周报 【2月第3期 2023-02-18】
  8. 【雅礼联考DAY02】Magic
  9. CentOS7加入AD域(winbind)
  10. Java刷题常用的数据结构总结