生产环境下 Spark1.3.1 源码编译 thrift功能 及碰到的问题

在此不再赘述hadoop环境搭建默认是搭建好了(我这里用的版本是hadoop2.2+hive0.12,所以需要自己编译)


1、下载spark源码

git clone git://github.com/apache/spark.git -b branch-1.3


2、编译spark 

       1) 建议使用jdk1.7编译,不建议1.6

        export JAVA_HOME=/home/xxx/java1.7/jdk1.7

       2) 设置maven编译选项

##export MAVEN_OPTS="-Xmx2g -XX:MaxPermSize=512M -XX:ReservedCodeCacheSize=512m" ##(视情况而定)

export MAVEN_OPTS="-Xmx4g -XX:MaxPermSize=1024M -XX:ReservedCodeCacheSize=1024m"

       3)编译

        mvn -Pyarn -Phadoop-2.2 -Dhadoop.version=2.2.0 -Phive -Phive-0.12.0 -Phive-thriftserver -DskipTests clean package(推荐)

       这个命令会在 spark/assembly/target/scala-2.10下生成jar包

        或者

        ./make-distribution.sh --tgz -Pyarn -Phadoop-2.2 -Dhadoop.version=2.2.0 -Phive -Phive-0.12.0 -Phive-thriftserver -DskipTests clean package

        会在spark目录下生成tgz的包。


其中,jar包的生成方式,需要自己建立lib目录。

tgz的方式,需要解压,生成的spark结构简洁,没有和源码混合在一起,便于使用。

之前,我很困惑的就是源码生成jar包后,没有lib的目录,很奇怪,这里spark的官网也没有写明,浪费了不少时间,但是其实一般情况下都不用lib包的。

只是因为我在编译spark之前,已经看了一些文章若spark+hive(hive的元数据放在mysql)需要在lib中放入mysql的jar包,就因为这个,我郁闷了很久,mvn生成的包到底怎么用,现在我可以告诉你,直接在源码的目录下执行对应的指定就可以了



未完,待续。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值