白沟网站建设,wordpress分类下文章置顶,构建新发展格局,rails 开发的网站开发YARN是Hadoop资源管理器#xff0c;他是一个通用资源管理平台和调度平台#xff0c;可为上层应用提供统一的资源管理和调度#xff0c;MapReduce等运算程序则相当于运行于操作系统上的应用程序#xff0c;YARN为这些程序提供运算所需的资源内存、cpu。
YARN并不清楚用户提…YARN是Hadoop资源管理器他是一个通用资源管理平台和调度平台可为上层应用提供统一的资源管理和调度MapReduce等运算程序则相当于运行于操作系统上的应用程序YARN为这些程序提供运算所需的资源内存、cpu。
YARN并不清楚用户提交的程序的运行机制 YARN只提供运算资源的调度用户程序向YARN申请资源YARN就负责分配资源 YARN中的主管角色叫ResourceManager YARN具体提供运算资源的角色叫做NodeManager YARN与运行的用户程序完全解耦意味着YARN上可以运行各种类型的分布式运算程序比如MapRuduce、storm、Spark、 Spark、storm等原生框架都可以整合在YARN上运行只要他们各自的框架中符合YARN过程的资源请求机制即可 YARN主要包含三大模块 ResourceMannger、NodeManager、ApplicationMaster ResourceMannager负责所有资源的监控分配和管理是一个全局的资源管理系统 NodeManager负责每一个节点的维护以心跳的方式向ResourceManager汇报资源使用情况目前主要是内存和cpu的使用情况RM只接受NM的资源汇报信息对于具体的资源处理则交给NM自己处理 ApplicationMaster负责每一个具体应用程序的调度和协调与NM通信以启动和停止任务监控所有的任务运行状态并在任务失败的时候为其重新去申请资源以重启任务。
YARN运行流程
1Client向RM提交应用程序其中包括启动该应用的ApplicationMaster的必须信息例如 ApplicationMaster 程序、启动 ApplicationMaster 的命令、用户程序等。 2ResourceManager启动一个Containe来运行ApplicationMaster 3启动中的ApplicationMaster向ResourceManager祖册自己启动成功后与RM保持心跳 4ApplicationMaster 向 ResourceManager 发送请求申请相应数目的 Container。 5ResourceManager 返回 ApplicationMaster 的申请的 Containers 信息。申请成功的Container由 ApplicationMaster 进行初始化。Container 的启动信息初始化后 AM与对应的 NodeManager 通信要求 NM 启动 Container。 AM 与 NM 保持心跳从而对 NM上运行的任务进行监控和管理。 6Container 运行期间 ApplicationMaster 对 Container 进行监控。 Container 通过 RPC协议向对应的 AM 汇报自己的进度和状态等信息 7Client 直接与 AM 通信获取应用的状态、进度更新等信息。 8应用运行结束后 ApplicationMaster 向 ResourceManager 注销自己并允许属于它的Container 被收回。