执行yarn应用程序示例
Posted 牛学汇
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了执行yarn应用程序示例相关的知识,希望对你有一定的参考价值。
本期牛学汇,小编之后几期牛学汇主要围绕以下三个点阐述如何创建一个yarn程序。
1.了解yarn应用程序概念
2.执行yarn应用程序示例
3.创建yarn客户端
开始之前对yarn集群工作基本了解并且理解HDFS,yarn的相关概念。
YARN是什么?
YARN代表Yet Another Resource Negotiator,是Hadoop2.0的
通用作业调度程序好人资源管理器。
YARN在执行作业时主要包含两个组件:
1.ResourceManager:用来响应资源请求和在Hadoop2集群上调度应用程序。
2.ApplicationMaster:管理每个应用程序的生命周期。下图所示yarn的架构流程。
此图显示,有三个客户端请。首先 发送给资源管理(ResourceManager),实际上资源管理器是直接可以和ApplicationMaster通信,同样资源管理器也可以和NodeManager联系。nodemanager通常就是物理机的节点。ResourceManager可以管理每个应用的ApplicationMaster,而ApplicationMaster在生成之后,会向ResourceManager请求资源,每个nodemanager会将自己本地的资源信息反馈ResourceManager。之后ResourceManager会给ApplicationMaster分配合适的节点。ApplicationMaster得到资源管理器给它的节点之后,会在相对应节点上创建容器。这些容器将真正执行实际的应用程序。yarn作为资源管理器,除了支持MapReduce还支持其他资源框架。
在自己的机器上部署好yarn之后(如何部署,关注小编之前牛学汇)。现在来看一个应用程序执行的示例:
$yarn org.apache.hadoop.applications.distributedshell.Client -jar hadoop-yarn-applications.distributedshell-2.7.3.jar -shell_command cal #######yarn为yarn开头命令,接着是我们实际执行的客户端类,在指定其实际所处的jar文件,distributedshell是Hadoop自带的程序示例。最后指定其shell命令。
跑完命令后$ yarn application -list 顾名思义就可以查看具体应用状态了。
$ yarn application -list -APPstates FINISHED ######看到应用之前状态(应用程序ID,名字,类型,等)。
$yarn application -statusapplication_14963 ####看到每个应用程序的详细信息。
开始演示:
$cd /usr/local/hadoop/share/hadoop/ya$ll ####找到系统里面自带的演示的jar包
$ yarn org-apache.hadoop.yarn.application.distrbutioeshell.Client -jar (jar包名称)
$ yarn org-apache.hadoop.yarn.application.distrbutioeshell.Client -jar (jar包名称) jar-shell_command cal
$yarn application
$yarn application -list -appStates FINISHED ####指定状态,找到应用信息。
本次分享就这些了,欢迎关注牛学汇共同学习。
以上是关于执行yarn应用程序示例的主要内容,如果未能解决你的问题,请参考以下文章
Flink EMR Deployment 无法获取 Yarn 上下文,只能作为本地应用程序执行
记2018最后一次问题诊断-Spark on Yarn所有任务运行失败