Spark部署模式(三)——Yarn模式

目录

1. Yarn模式运行流程

2. 安装Yarn模式

3. 日志查看


Yarn模式是指Spark直接调用Yarn进行资源调度,Standalone下资源调度用的是Spark自身的Master和ApplicationMaster;

在Yarn模式下直接直接用Yarn的ResourceManager、NodeManager和Container环境做资源调度,Spark计算框架的ApplicationMaster和Executor存在于Container中

Spark ApplicationMaster负责和Yarn交互做资源调度,

Spark Driver负责和Executor交互做任务调度,

Spark中的Master和Worker没有了,换成了对应的yarn的RM和NM,Executor和Driver依然存在。

1. Yarn模式运行流程

Spark部署模式(三)——Yarn模式_第1张图片

(1)客户端提交应用程序,SparkSubmit

(2)让RM启动Spark的ApplicationMaster程序,用于Spark与Yarn之间资源交互

(3)AM向RM申请资源,用于启动Executor

(4)RM获取集群的资源信息(NM)

(5)RM将资源信息发送给AM,由AM中的Driver判断任务调度的地址

(6)Driver划分任务,分配任务task发送给Executor执行

(7)Executor执行任务,执行完毕后,通知Driver

(8)Driver和AM交互通知RM回收资源

(9)Executor、Container、Driver、ApplicationMaster就都释放资源消失

(10)最终留下Yarn的RM和NM,在client端打印结果。

 

2. 安装Yarn模式

(1)修改hadoop配置文件yarn-site.xml添加如下内容

[kevin@hadoop100 hadoop]$ vi yarn-site.xml
        
        
                yarn.nodemanager.pmem-check-enabled
                false
        
        
        
                yarn.nodemanager.vmem-check-enabled
                false
        

这里默认是true,本地测试时为避免任务失败都改成false了

(2)修改spark-env.sh,添加配置

[kevin@hadoop100 conf]$ vi spark-env.sh

YARN_CONF_DIR=/opt/module/hadoop-2.7.2/etc/hadoop

(3)分发配置文件

[kevin@hadoop100 conf]$ xsync /opt/module/hadoop-2.7.2/etc/hadoop/yarn-site.xml
[kevin@hadoop100 conf]$ xsync spark-env.sh

(4)启动HDFS和Yarn集群服务,就可以正常开始运行了,Spark的Yarn模式配置完毕

 

3. 日志查看

(1)修改配置文件spark-default.conf,添加信息

spark.yarn.historyServer.address=hadoop100:18080
spark.history.ui.port=18080

这里把历史日志地址选在了hadoop100这台主机上,端口是18080

(2)重启Spark的历史服务

[kevin@hadoop100 spark]$ sbin/stop-history-server.sh
[kevin@hadoop100 spark]$ sbin/start-history-server.sh

(3)启动hadoop历史服务

[kevin@hadoop100 hadoop-2.7.2]$ sbin/mr-jobhistory-daemon.sh start historyserver

(4)历史服务配置完毕,点开18080端口查看历史服务

ps:如果Web端显示不了,可能是由于hadoop中配置文件设定主机名冲突,四个.site文件检查一下,确保服务的主机名信息一致

 

 

 

 

你可能感兴趣的:(Spark)