Hadoop通信机制和内部协议之协议

概述

MapReduce核心协议
名称 描述
ClientProtocol 继承于Version基类,查看作业情况监控当前集群等
RefreshUserMappingProtocol 刷新用户到用户组映射关系到超级用户代理组列表
RefreshAuthorizationPolicyProtocol 刷新HDFS和MapReduce服务几倍访问控制列表
ResourceManagerAdministrationProtocol 继承于GetUserMappingProtocol基类,刷新队列列表,节点列表
## ClientProtocol通信协议

ClientProtocol协议是JobClient和JobTracker之间进行交流的枢纽。JobClient 可以使
用该协议中的函数来提交-一个作业(Job) 并执行,以了解当前系统的状态

  1. 提交作业
    协议中JobClient通过Hadoop RPC的submitjob()函数提交作业(Job),函数所包含的参数有作业ID (JobID),然后JobClient通过getNewJoblD0函数为作业(Job) 获得一个唯一的ID。
  2. 操作作业
    当用户提交作业(Job) 后,可以通过调用函数来控制该作业的执行流程,如设置提交作业的优先级(setlobPriority()函数) 、停止一个作业(killJob()函数) 、停止一个任务(illTask()函数)。
  3. 查看状态
    从实现源代码来看,该通信协议还提供了一系列函数来 查看状态,如查看集群当前状态(getClusterMetrics()函数)、查看当前任务状态(getJobTrackerStatus()函数) 、获取所有任务(getllobs()函数)等。

RefreshUserMappingProtocol

RefreshU serMappingsProtocol 协议用于更新 HDFS 和 MapReduce 级别的用户到用户组
映射关系及超级用户代理组列表

refreshUserToGroupsMappings() 函数和refreshSuperUserGroupsConfiguration()函数来实现,这两个函数均是通过调用Hadoop RPC来完成具体的逻辑。

RefreshAuthorizationPolicyProtocol

RefreshAuthorizationPol icyProtocol 协议用于刷新当前使用的授权策略

通过调用 Hadoop RPC 远程调用 refreshServiceAcl()函数,实现基于 HDFS 和
MapReduce 级别的授权策略

ResourceManagerAdministrationProtocol

ResourceManagerAdministrationProtocol 协议用于更新队列列表、节点 列表 、节点资源等

该协议继承于 GetUserMappingsProtocol 基类 ,通过 Hadoop RPC 远程调用来实现节点
更新、资源更新 、添加标签等操作

说明:在IDE中导入hadoop源码加载进去后,按Ctrl+鼠标左键进入即可查看源码

Comments

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×