desehawk 发表于 2014-11-25 12:03:42

hadoop2.4.1集群安装spark1.1.0


问题导读

1.spark on yarn你认为有什么优势?
2.spark on yarn该如何配置?
3.spark on yarn如何提交job?

static/image/hrline/4.gif








本文介绍的是如何将Apache Spark部署到Hadoop 2.4.1上,如果你们的Hadoop是其他版本,比如CDH4,可直接参考官方说明操作。

需要注意两点:

(1)使用的Hadoop必须是2.0系列,比如0.23.x,2.0.x,2.x.x或CDH4、CDH5等,将Spark运行在Hadoop上,本质上是将Spark运行在Hadoop YARN上,因为Spark自身只提供了作业管理功能,资源调度要依托于第三方系统,比如YARN或Mesos等

(2)之所以不采用Mesos而是YARN,是因为YARN拥有强大的社区支持,且逐步已经成为资源管理系统中的标准。

在linux环境下hadoop2.X完全分布式搭建

hadoop2.2完全分布式最新高可靠安装文档
下载spark
http://spark.apache.org/
注意spark版本的问题,pre-built,hadoop-2.4
因为这是搭建在yarn上的。如果搭建在mesos上,需要下载对应的版本。


1. 安装scala

tar -xvzf scala-2.10.4.tgz
mv scala-2.10.4 scala
sudo mv scala /usr/local/

添加环境变量:
sudo vi /etc/profile

将如下内容添加到文件末尾
#scala
export SCALA_HOME=/usr/local/scala
export PATH=$SCALA_HOME/bin:$PATH


保存并更新/etc/profile:
source /etc/profile


测试scala是否安装成功:
scala -version





2. 安装Spark

sudo cp spark-1.1.0-bin-hadoop2.4.tgz /usr/local
sudo tar -xvzf spark-1.1.0-bin-hadoop2.4.tgz
tar -xvzf spark-1.1.0-bin-hadoop2.4.tgz
mv spark-1.1.0-bin-hadoop2.4 spark
sudo mv spark /usr/local/


在/etc/profile文件的末尾添加环境变量:

#spark
export SPARK_HOME=/usr/local/spark-1.1.0-bin-hadoop2.4
export PATH=$SPARK_HOME/bin:$PATH


保存并更新/etc/profile:

source /etc/profile



修改conf目录下的spark-env.sh,添加环境变量

export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop

export SPARK_HOME=/usr/local/spark
export SPARK_JAR=/usr/local/spark/lib/spark-assembly-1.1.0-hadoop2.4.0.jar
export PATH=$SPARK_HOME/bin:$PATH


注:
HADOOP_CONF_DIR YARN_CONF_DIR这2个变量任选其一
SPARK_JAR 必须指定。


3.提交job 的命令

./bin/spark-submit --class org.apache.spark.examples.SparkPi \
--master yarn-cluster \
--num-executors 1 \
--driver-memory 1g \
--executor-memory 1g \
--executor-cores 1 \
lib/spark-examples*.jar \
1









pfrpfr 发表于 2014-12-2 09:57:07

谢谢分享,再介绍下spark就更好了

haorengoodman 发表于 2015-1-9 10:20:26

spark只需要装在一台机器上就OK了吗?
以后提交spark任务的话,只能再这一台机器上提交吗?
spark on yarn 需要其他的配置吗?

先谢谢楼主了
页: [1]
查看完整版本: hadoop2.4.1集群安装spark1.1.0