单机版安装:
1,首先看看有没有安装scala,如果没有下载sparkhomepage所要求的scala版本进行安装,其实安装scala也就是将scala的tgz文件解压,然后将/etc/profile中的环境变量设置一下,如:
exportSCALA_HOME=/home/casa/spark/spark_amp/scala-2.9.3
export PATH=$SCALA_HOME/bin:$PATH
2,对SPARK_HOME下的conf中的spark-env.sh.template文件进行更名,更改为spark-env.sh并且将SCALA_HOME加入到其中。
3, 然后回到SPARK_HOME,执行sbt/sbt updatecompile进行联网安装,注意一定要联网,因为SPARK当中的依赖的一些包还要下载。在此过程中,spark依赖的一些包会被下载存放在用户根目录中的.ivy2目录中,sbt相关的会放在根目录的.sbt当中,在.sbt中还会下载scala的一个版本(不知道为什么这么做,是自己下载的scala版本和spark对应版本的scala的需求不一致吗?)。这步很慢,根据网速大概需要半个小时到一个小时,同时还有个问题就是,在这个过程中,会有错误出现,这些错误都是twitter4j的包不能下载,在高版本的spark中会出现这种情况,因为有了spark-streaming的加入,spark要和twitter的接口相连,翻墙解决或者单独下载twitter包。
4,安装完毕之后,可以通过spark-shell进行交互式数据挖掘的应用,./spark-shell命令可以进入到spark的shell环境中,也可以直接跑spark当中自带的例子程序,./runspark.examples.SparkLRlocal[2],这个是逻辑回归的例子程序。如果这个例子能够跑成功,再试试用spark写一些机器学习的应用,首先我们要将spark整个core达成一个包放在classpath下面,在SPARK_HOME中使用sbt/sbtassembly命令,可以在core/target/spark-core-assembly-0.4-SNAPSHOT.jar找到打成的jar文件。将这个jar文件放到classpath中就可以写类似于hadoop一样的应用,例如机器学习中的迭代计算kmeans和LR,在你跑./runspark.examples.SparkLR local[2]的时候,可能会出现Exception in thread"main"java.lang.NullPointerException的错误,解决方法是在用户环境变量中设置SPARK_EXAMPLES_JAR环境变量。
集群版安装:
在单机版安装完事之后,然后配置两个文件,最基本的spark集群就能用了
这两个文件就是:slaves和spark-env.sh。slaves里面配置的是所有slaves的ip地址,spark-env.sh有master的ip地址,java环境变量,scala环境变量
shark安装:
在上面的都安装完事之后,配置一个文件即可使用
这个文件是shark-env.sh。这个文件中有java的环境变量,spark的目录,等等