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
谢谢分享,再介绍下spark就更好了 spark只需要装在一台机器上就OK了吗?
以后提交spark任务的话,只能再这一台机器上提交吗?
spark on yarn 需要其他的配置吗?
先谢谢楼主了
页:
[1]