YARN/MRv2 Resource Manager深入剖析—用户交互相关模块分析

本文深入解析了YARN针对普通用户、管理员和Web提供的三种服务,包括ClientRMService、AdminService和WebApp的具体功能与应用场景。详细介绍了如何通过这些服务进行应用程序的提交、管理及集群资源的可视化展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

YARN分别针对普通用户,管理员和Web提供了三种对外服务,分别对应ClientRMService、AdminService和WebApp,本节将对这三个服务分别进行详细介绍。

1. ClientRMService

ClientRMService是为普通用户提供的服务,它会处理来自客户端各种RPC请求,比如提交应用程序、终止应用程序,获取应用程序运行状态等。ClientRMService实现了 ClientRMProtocol协议,提供了丰富的RPC接口,以下是几个例子:

public GetNewApplicationResponse getNewApplication(

GetNewApplicationRequest request)

public SubmitApplicationResponse submitApplication(

SubmitApplicationRequest request)

public KillApplicationResponse forceKillApplication(

KillApplicationRequest request)

public GetApplicationReportResponse getApplicationReport(

GetApplicationReportRequest request)

在客户端,当用户需要提交或者杀死一个作业时,直接使用封装好的对外命令即可,比如MapReduce杀死一个作业直接使用:

bin/hadoop job -kill job_XXX

该命令最终会调用forceKillApplication()函数。

2. AdminService

YARN为管理员提供了一套独立的服务接口,以防止大量的普通用户请求使管理员发送的管理命令饿死,管理员可通过这些接口管理集群,比如动态更新节点列表,更新ACL列表,更新队列信息等。通过该服务,YARN为管理员提供了以下几个接口/命令,以管理/更新系统中的队列、节点、用户等信息:

refreshQueues:更新队列信息,调用ResourceScheduler. Reinitialize(),触发重新加载调度器专有的资源配置文件。

refreshNodes:更新exclude和include节点列表,这两个节点列表分别在配置选项yarn.resourcemanager.nodes.exclude-path和yarn.resourcemanager.nodes.include-path指定的文件中设置,其中,exlude节点不能够接入ResourceManager,而include节点则可以接入,默认值为空,表示任何节点均可接入。

refreshSuperUserGroupsConfiguration:更新代理用户和所在的host,为了安全起见,YARN要求上层应用(如Oozie,Hive等)通过一个代理用户接入集群。

refreshUserToGroupsMappings:更新用户与用户组之间的映射,默认情况下,采用Linux 用户和用户组的映射,需要注意的是,YARN会对该映射关系进行缓存,当管理员在操作系统层修改了该映射关系,应使用该命令刷新缓存。

refreshAdminAcls:更新YARN集群管理员列表。可通过配置选项yarn. admin.acl设置YARN的集群管理员,这些管理员可以执行以上所有操作,管理用户应用程序(比如杀死应用程序)。

refreshServiceAcls:更新服务访问控制列表,ResourceManager中包含三个服务,分别是:ClientRMService,ApplicationMasterService和ResourceTrackerService,分别对应访问者Client、ApplicationMaster和NodeManager,管理员可通过该命令刷新这三个服务的合法访问者列表。

3. WebApp

为了更加友好地展示集群资源使用情况和应用程序运行状态等信息,YARN对外提供了一个Web 界面,这一部分有一个叫Hamlet的Web框架实现的,Hamlet是YARN仿照haml(http://haml.info/)开发的一个轻量级嵌入式Web框架。具体讨论见:https://issues.apache.org/jira/browse/MAPREDUCE-2399

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值