为了账号安全,请及时绑定邮箱和手机立即绑定

Spark编译

标签:
Spark

Spark编译
有三种方式:SBT(Simple Build  Tool),Maven,Make-distribution.sh
其中SBT,Maven两种方式打出来的包比较大,因此使用第三种方式编译

官方已经提供了安装包了,为什么要自己编译呢?

Spark能同Hadoop进行交互,而Hadoop的厂商比较多有很多商业版。Spark官方提供的安装包不一定和我们的Hadoop集群版本相同,如果不相同就有可能出现莫名其妙的错误。这时,我们手工指定相应版本进行编译是最好选择

SBT编译

    sbt/sbt clean assembly

Maven编译

由于Maven工具默认的内存比较小,需要先调大其占用的内存上限

  export MAVEN_OPTS="-Xmx2g -XX:MaxPermSize=512M -XX:ReservedCodeCacheSize=512m"

打包

mvn clean assembly:assembly

make-distribution.sh构建安装包

该脚本会使用MAVEN进行编译,然后打成一个tgz包。
脚本的使用方法:

    ./make-distribution.sh --help

打包:

   ./make-distribution.sh --tgz --with-tachyon

Hadoop版本对应的MAVEN Profile

Hadoop version  Profile required
  0.23.x                 hadoop-0.23
  1.x to 2.1.x           (none)
  2.2.x               hadoop-2.2
  2.3.x               hadoop-2.3
  2.4.x               hadoop-2.4

Yarn版本对应的MAVEN Profile

YARN version    Profile required0.23.x to 2.1.x yarn-alpha2.2.x and later yarn

Hive对应的MAVEN Profile

在构造脚本后面添加 -Phive便可

自定义Hadoop版本

如果要构建hortonworks Hadoop 2.4.0.2.1.4.0-632,所对应的Hadoop版本是2.4.x。因此,相应的Profile为-Phadoop-2.4 -Pyarn。

编译方式:

SBT

  sbt clean assembly -Phive -Phadoop-2.4 -Pyarn -Dhadoop.version=2.4.0.2.1.4.0-632

Maven

  export MAVEN_OPTS="-Xmx2g -XX:MaxPermSize=512M -XX:ReservedCodeCacheSize=512m"
  mvn clean assembly:assembly
  make-distribution.sh

1.1.x 使用

./make-distribution.sh --tgz --with-tachyon -Phadoop-2.4 -Pyarn -Phive -Dhadoop.version=2.4.0.2.1.4.0-632

对于1.1.x以前的版本使用:

 ./make-distribution.sh --hadoop 2.4.0.2.1.4.0-632 --with-yarn --with-tachyon --tgz

如果yarn的版本和Hadoop的版本不一致可添加

-Dyarn.version=2.4.0.2.1.4.0-632



作者:Bloo_m
链接:https://www.jianshu.com/p/82657d105d21


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消