Spark的部署模式分为基于Cluster manager(YARN/Mesos)的模式, 独立模式(Standalone)。Standalone模式下又分成local模式和cluster模式。
下面是Spark standalone cluster模式部署的主要步骤:
- 从http://www.scala-lang.org/downloads下载scala 2.9.3包。
- 从git://github.com/mesos/spark.git下载最新的Spark代码,选择branch-0.7分支。
- 因为不同版本的hadoop使用的HDFS协议可能不一致,检查spark目录下project/SparkBuild.scala文件中设定的HADOOP_VERSION是否和cluster中hadoop的版本一样。不一样的话,可以修改代码。
- 修改spark目录下conf/slaves文件,将所有slave节点的主机名或IP地址填入,每行一个节点。
- 将spark目录下conf/spark-env.sh.template文件改名为spark-env.sh。修改spark-env.sh,加入SCALA_HOME,JAVA_HOME环境变量的设置。另外,如果有需要,可以修改有关spark环境变量的默认值,比如SPARK_WORKER_MEMORY等。
- 在spark目录里运行命令sbt/sbt package进行编译,打包。然后将整个spark目录拷贝到master和slave节点上。
- 将scala 2.9.3包拷贝到master和slave节点上。
- 对于每一个节点,解压scala 2.9.3包到本地目录。
- 保证master节点能够不需要密码SSH到各个slave节点上,不过这点应该在hadoop部署的时候就做过了。
- 在master节点上进入spark目录,执行bin/start-all.sh。
- 运行Spark自带的示例程序检验部署是否成功:./run spark.examples.SparkPi spark://<master主机名>:7077
官方文档:http://www.spark-project.org/docs/0.7.0/spark-standalone.html