本篇将对 Yarn Application 编写流程进行介绍。将一个新的应用程序运行到 Yarn 上,主要编写两个组件 Client
和 ApplicationMaster
,组件的具体实现案例将在后两篇文章中介绍。
(实际使用中,我们并不需要实现一个 Yarn Application,直接将任务提交到 MapReduce、Spark、Hive、Flink 等框架上,再由这些框架提交任务即可,这些框架也可以被视为一种特定的 Yarn Application。)
其中,Client 主要用于提交应用程序和管理应用程序,ApplicationMaster 负责实现应用程序的任务切分、调度、监控等功能。
YarnClient
;YarnClient
创建 Application
;ApplicationSubmissionContext
所需内容:
Application
。AMRMClientAsync
,用于与 ResourceManager
通信;NMClientAsync
,用于与 NodeManager
通信;ResourceManager
注册,之后会向 ResourceManager
发送心跳;ResourceManager
申请 Container
。Container
中运行 taskHadoop 自带的 hadoop-yarn-applications-distributedshell
是个很好的学习案例,可以参考其中的 Client.java
和 ApplicationMaster.java
两个类进行学习。DistributedShell
可以执行用户指定的 Shell 命令或脚本,包含了编写一个 YARN Application 的完整内容。
标签:icode9,Application,编写,介绍,应用程序,运行,框架,数据,流程 来源:
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。