From ec1484f891b9697e46ee4b156706e2dd1db47bb2 Mon Sep 17 00:00:00 2001 From: luoxiang <2806718453@qq.com> Date: Sun, 2 Jun 2019 16:18:57 +0800 Subject: [PATCH] hadoop-yarn --- notes/Hadoop-YARN.md | 30 +++++++++++++----------------- 1 file changed, 13 insertions(+), 17 deletions(-) diff --git a/notes/Hadoop-YARN.md b/notes/Hadoop-YARN.md index c173c28..ca03678 100644 --- a/notes/Hadoop-YARN.md +++ b/notes/Hadoop-YARN.md @@ -4,19 +4,16 @@ 一、hadoop yarn 简介
二、YARN架构
        1. ResourceManager
-        2. ApplicationMaster
-        3. NodeManager
+        2. NodeManager
+        3. ApplicationMaster
+        4. Contain
三、YARN工作原理简述
四、YARN工作原理详述
-        1. 作业提交
-        2. 作业初始化
-        3. 任务分配
-        4. 任务运行
-        5. 进度和状态更新
-        6. 作业完成
五、提交作业到YARN上运行
+ + ## 一、hadoop yarn 简介 **Apache YARN** (Yet Another Resource Negotiator) 是hadoop 2.0 引入的集群资源管理系统。用户可以将各种服务框架部署在YARN上,由YARN进行统一地管理和资源分配。 @@ -37,18 +34,18 @@ `NodeManager`是YARN集群中的每个具体节点的管理者。主要负责该节点内所有容器的生命周期的管理,监视资源和跟踪节点健康。具体如下: -1. 启动时向`ResourceManager`注册并定时发送心跳消息,等待`ResourceManager`的指令; -2. 维护`Container`的生命周期,监控`Container`的资源使用情况; -3. 管理任务运行时的相关依赖,根据`ApplicationMaster`的需要,在启动`Container`之前将需要的程序及其依赖拷贝到本地。 +- 启动时向`ResourceManager`注册并定时发送心跳消息,等待`ResourceManager`的指令; +- 维护`Container`的生命周期,监控`Container`的资源使用情况; +- 管理任务运行时的相关依赖,根据`ApplicationMaster`的需要,在启动`Container`之前将需要的程序及其依赖拷贝到本地。 ### 3. ApplicationMaster 在用户提交一个应用程序时,YARN会启动一个轻量级的进程`ApplicationMaster`。`ApplicationMaster`负责协调来自 `ResourceManager`的资源,并通过`NodeManager` 监视容器内资源的使用情况,同时还负责任务的监控与容错。具体如下: -1. 根据应用的运行状态来决定动态计算资源需求; -2. 向`ResourceManager`申请资源,监控申请的资源的使用情况; -3. 跟踪任务状态和进度,报告资源的使用情况和应用的进度信息; -4. 负责任务的容错。 +- 根据应用的运行状态来决定动态计算资源需求; +- 向`ResourceManager`申请资源,监控申请的资源的使用情况; +- 跟踪任务状态和进度,报告资源的使用情况和应用的进度信息; +- 负责任务的容错。 ### 4. Contain @@ -115,8 +112,7 @@ YARN中的任务将其进度和状态(包括counter)返回给应用管理器, 这里以提交Hadoop Examples中计算Pi的MApReduce程序为例,相关Jar包在Hadoop安装目录的`share/hadoop/mapreduce`目录下: ```shell -# 提交格式为 -# hadoop jar jar包路径 主类名称 主类参数 +# 提交格式: hadoop jar jar包路径 主类名称 主类参数 # hadoop jar hadoop-mapreduce-examples-2.6.0-cdh5.15.2.jar pi 3 3 ```