前言
前面提到过,Spark的部署模式有Local、Local-Cluster、Standalone、Yarn、Mesos,在这里,mark下Yarn集群的安装部署及执行。
Yarn集群的部署不依赖Standalone集群,不需要启动Spark,但需要安装Hadoop和Spark,本Yarn集群是在前面的Spark镜像基础上构建的,详细安装如下:
一、Yarn集群安装
1、修改Hadoop配置下的yarn-site.xml:
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop0</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!--是否启动一个线程检查每个任务正使用的物理内存量,如果任务超出分配值,则直接将其杀掉,默认是true -->
<property>
<name>yarn.nodemanager.pmem-check-enabled</name>
<value>false</value>
</property>
<!--是否启动一个线程检查每个任务正使用的虚拟内存量,如果任务超出分配值,则直接将其杀掉,默认是true -->
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
2、修改Spark-env.sh 添加:
让Spark能够发现Hadoop配置文件
HADOOP_CONF_DIR=/opt/module/hadoop/etc/hadoop
YARN_CONF_DIR=/opt/module/hadoop/etc/hadoop
二、Yarn集群执行
2.1、先启动Hadoop集群(无需启动其它的)
2.2、执行如下命令
[root@hadoop0 /]# /opt/module/spark-2.1.1-bin-hadoop2.7/bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master yarn \
--deploy-mode client \
/opt/module/spark-2.1.1-bin-hadoop2.7/examples/jars/spark-examples_2.11-2.1.1.jar \
具体参考前面的Spark系列(二),特别说明下,这里指明集群master提交为Yarn,部署模式为Client,Yarn集群提交时有两种模式Client模式和Cluster模式,这两种模式的具体区别可以看后面的Spark集群模式详解。