说句实话,这次安装spark真是个非常费劲的过程,spark好像确实都需要自己编译,用自己编译好的版本安转,对于一个菜鸟初学者,抱着求职的欲望,却被天朝的墙挡住,就是一个悲剧,这里我转载了一篇别人写好的,编译过程的帖子,我也是按照这个过程做的编译。

但我提供一下了链接供你下载使用,希望能给你提供一定的帮助!

1、spark-1.2.0的源码包

2、scala-2.10.4的安装包

3、我用来编译的对应的hadoop-2.4.1的安装包和hadoop的2.2.0的hadoop包

4、我编译的过程中生成的maven的repository文件目录打成的压缩包

5、maven的安装包

6、最重要的还有打包好的spark-1.2.0-bin-2.2.0.tgz和spark-1.2.0-bin-2.4.1.tgz,这两个安装包

(如有什么资料不全,还希望各位积极讨要,我尽量给大家补全)

所有文件都在这个文件夹下

http://pan.baidu.com/s/1eQy8E5c

----------------------------------------------------------------------------------------

Spark1.1.0的源码编译和部署包生成,其本质只有两种:Maven和SBT,只不过针对不同场景而已:

  • Maven编译

  • SBT编译

  • 部署包生成(内嵌Maven编译),适用于维护人员

编译的目的是生成指定环境下运行Spark本身或Spark Application的JAR包。缺省编译所支持的hadoop环境是hadoop1.0.4。Spark1.1.0的编译对几种编译方法(Maven、SBT、make-distribution.sh)进行了配置项的统一,都可以使用Maven的profile配置项;另外,对于需要额外版权的集成组件也提供了Maven配置项,如spark-ganglia-lgpl、kinesis-asl,方便了用户的编译。在本例中,笔者使用的环境是hadoop2.2.0,支持hive,并和ganglia、kinesis-asl集成。

1:获取Spark1.1.0 源码

官网下载地址http://spark.apache.org/downloads.html

2:SBT编译

将源代码复制到指定目录,然后进入该目录,运行:

sbt/sbt assembly -Pyarn -Phadoop-2.2 -Pspark-ganglia-lgpl -Pkinesis-asl -Phive   

3:Maven编译

事先安装好maven3.04或maven3.05,并设置要环境变量MAVEN_HOME,将$MAVEN_HOME/bin加入PATH变量。然后将源代码复制到指定目录,然后进入该目录,先设置Maven参数:

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

再运行:

  1. mvn -Pyarn -Phadoop-2.2 -Pspark-ganglia-lgpl -Pkinesis-asl -Phive -DskipTests clean package  

5:生成spark部署包

编译完源代码后,虽然直接用编译后的目录再加以配置就可以运行spark,但是这时目录很庞大,有800M左右多吧,部署起来很不方便,所以需要生成部署包。

spark1.1.0源码根目录下带有一个脚本文件make-distribution.sh可以生成部署包,其用法和spark1.0.0有了较大变动,开始支持MAVEN的配置参数,用法如下:

  1. ./make-distribution.sh [--name] [--tgz] [--with-tachyon] <maven build options>  

  • --with-tachyon:是否支持内存文件系统Tachyon,不加此参数时不支持tachyon。

  • --tgz:在根目录下生成 spark-$VERSION-bin.tgz,不加此参数时不生成tgz文件,只生成/dist目录。

  • --name NAME:和--tgz结合可以生成spark-$VERSION-bin-$NAME.tgz的部署包,不加此参数时NAME为hadoop的版本号。

如果要生成spark支持yarn、hadoop2.2.0、hive的部署包,只需要将源代码复制到指定目录,进入该目录后运行:

./make-distribution.sh --tgz --name 2.2.0 -Pyarn -Phadoop-2.2  -Phive  

如果要生成spark支持yarn、hadoop2.2.0、ganglia、hive的部署包,只需要将源代码复制到指定目录,进入该目录后运行:

  1. ./make-distribution.sh --tgz --name 2.2.0 -Pyarn -Phadoop-2.2 -Pspark-ganglia-lgpl  -Phive