Yarn源代码分析之旅---NodeManager---健康检查
来源:互联网 发布:德州seo 编辑:程序博客网 时间:2024/04/29 00:26
概述
在NodeManager的初始化的时候,我们会看到如下代码:
nodeHealthChecker = new NodeHealthCheckerService();
addService(nodeHealthChecker);
addService(nodeHealthChecker);
这段代码为NM添加了一个服务,用于通过周期性的运行一个自定义脚本(由组件NodeHealthScriptRunner完成)和向磁盘写文件(由服务LocalDirsHandlerService完成)检查节点的健康状态。然后并通过ResourceTrackerProtocol向RM报告自己的健康状况。NodeHealthCheckerService本身并不提供有用的功能,内部主要靠NodeHealthScriptRunner以及LocalDirsHandlerService完成。
NodeHealthScriptRunner
配置项yarn.nodemanager.health-checker.script.path的值,是一个可执行脚本的绝对地址, 如果此配置项没有值,则NodeHealthScriptRunner服务不会被添加并启动;如果有值,并且文件真实存在而且有权限能够访问的话,此服务会被添加到服务列表。服务初始化的时候,会初始化脚本的地址,执行的时间间隔,超时时间以及运行时的参数,这些都是定义在配置文件yarn-site.xml中的,最后定义了一个Timer:NodeHealthMonitorExecutor来具体执行脚本。
服务启动后,会定期通过ShellCommandExecutor来运行脚本,然后得到脚本的输出,如果发现是ERROR开头的,则说明NM现在处于不健康的状态(还有一些别的状态,在此不一一说明),如果是OK开头,则说明NM是健康的。
NM每次跟RM心跳的时候,都会得到当前的健康状态信息,然后返回给RM,如果RM收到了不健康的状态,则会把NM放入黑名单,否则,会放入白名单。
LocalDirsHandlerService
服务初始化时,会初始化时间间隔,MonitoringTimerTask,正常磁盘比例等等信息,以及两个重要的目录,本地可用目录列表以及日志存放目录列表,这些目录直接决定只NM是否可用。所以NM作为节点的代理和管理者,应该负责检测这两类目录列表的可用性。MonitoringTimerTask启动后,会定期检查这两类目录的可用性,返回健康状态(比较磁盘比例),如果不可用,则删除不能用的目录。判断条件是具有读,写,执行权限。
0 0
- Yarn源代码分析之旅---NodeManager---健康检查
- Yarn源代码分析之旅---NodeManager---Container管理之资源本地化
- Yarn设计原理分析之NodeManager
- Yarn设计原理分析之NodeManager
- Yarn源代码分析之旅---文章目录
- Yarn源代码分析之旅---ResourceManager---AM管理之AMLivelinessMonitor
- NodeManager代码分析之NodeManager启动过程
- NodeManager代码分析之NodeManager启动过程
- Yarn源代码分析之旅---ResourceManager---用户交互之ResourceManagerAdministrationProtocol与AdminService
- 【十八掌●内功篇】第六掌:YARN之NodeManager
- Hadoop - YARN NodeManager 剖析
- YARN NodeManager 剖析
- Yarn NodeManager restart特性
- yarn resourceManager 找不到nodeManager
- Yarn源代码分析之旅---总体架构---概述与总体架构
- hadoop源代码分析之:yarn的核心设计介绍
- Apache Hadoop YARN – NodeManager
- Hadoop 2.0 Yarn代码:NodeManager端代码分析_NM端各服务模块的启动
- OS basic concept
- HDU 2955 Robberies (想法题&0-1背包)
- 黑马程序员_ios基础总结2_C语言基本语法一
- 用半行代码实现在LINUX(SUSE/RH)下安装ORACLE 12C
- 黑马程序员_ios基础总结3_C语言基本语法二
- Yarn源代码分析之旅---NodeManager---健康检查
- 黑马程序员_ios基础总结4_C语言基本语法三
- Strcat,strcpy,strcmp,Strlen函数原型
- H.264的两个概念:DC系数和AC系数。 MV预测过程详解(附图)
- C/C++中内存区域划分大总结
- mpeg2,mpeg4,h264编码标准的异同
- http://www.cnblogs.com/ada-zheng/p/3284660.html
- LeetCode Balanced Binary Tree
- mplayer configure选项中文注释(MPlayer-1.0rc2)