如何编写Host程序

如何编写Host程序,第1张

1. 概述

YARN是一个资源管理系统,负责集群资源的管迟耐理和分配。如果想要将一个新的应用程序运行在YARN之上,通常需要编写两个组件:客户端和ApplicationMaster。由于这两个组件编写非常复杂,尤其ApplicationMaster,需要考虑RPC调用、任务容错等细节,所以,往往由专业的开发人员编写这两个组件,并提供给上层的应用程序用户使用。如果大量应用程序可抽象成一种通用框架,那么只需实现一个客户端和一个ApplicationMaster,然后让所有亮握应用程序重用这两个组件即可,比如MapReduce是一种通用的计算框架,YARN已经为其实现了一个直接可以使用的客户端—MRClientService和ApplicationMaster—MRAppMaster。

本文主要介绍了如何让一种新的应用程序,或者新的计算框架,运行于YARN之上。正如前面介绍的,用户需要编写两个组件完成该任务:客户端和ApplicationMaster,其中,客户端负责向ResourceManager提交ApplicationMaster,并查询应用程序运行状态,ApplicationMaster负责向ResourceManager申请资源(以Container形式表示),并与NodeManager通信以启动各个Container,此外,ApplicationMaster还负责监控各码键春个任务运行状态,并在失败是为其重新申请资源。

2. YARN Appcalition涉及到的RPC协议和主要编写步骤

(1) 涉及到的RPC协议

通常而言,编写一个YARN Appcalition涉及到3个RPC协议,分别为:

1) ClientRMProtocol(Client<–>ResourceManager)

Client通过该协议将应用程序提交到ResourceManager上、查询应用程序的运行状态或者杀死应用程序等。

2) AMRMProtocol(ApplicationMaster<–>ResourceManager)

ApplicationMaster使用该协议向ResourceManager注册、申请资源以运行自己的各个任务。

3) ContainerManager(ApplicationMaster<–>NodeManager)

ApplicationMaster使用该协议要求NodeManager启动/撤销Container,或者获取各个container的运行状态。

(2)客户端编写流程

步骤1 Client通过RPC函数ClientRMProtocol#getNewApplication从ResourceManager中获取唯一的application ID

步骤2 Client通过RPC函数ClientRMProtocol#submitApplication将ApplicationMaster提交到ResourceManager上。

(3)ApplicationMaster编写流程

步骤1 ApplicationMaster通过RPC函数AMRMProtocol#registerApplicationMaster向ResourceManager注册。

步骤2 ApplicationMaster通过RPC函数AMRMProtocol#allocate向ResourceManager申请资源(以Container形式表示)。

步骤3 ApplicationMaster通过RPC函数ContainerManager#startContainer要求对应的NodeManager启动Container。

ApplicationMaster重复步骤2~3,直到所有任务运行成功。

1、首先打开电脑,按“win+R”打开运行,输入“丛毁msconfig”,回车确定或改。

2、然后在d出来的窗口中点击打开“启动”。

3、然后在d出来的窗口中点击打开“打开任务管理器”。

4、然后在d出来的窗口衫郑判中选中SearchProtocolHost.exe,点击右下角的“禁用”,回车确定就完成了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12436358.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存