NodeManager健康检测机制

每个NodeManager都有健康检测机制,将检测结果通过心跳机制汇报给ResourceManager,ResourceManager会更新NodeManager状态。如果NodeManager处于Unhealthy状态,则ResourceManager不会给这个NodeManager分配任务,直到NodeManager恢复正常
一、检测机制
1、脚本检测
2、本地目录检测
3、磁盘使用率检测

二、脚本检测
管理员可以编写用于检测NodeManager健康状态的脚本,脚本出现以下几种情况则认为NodeManager Unhealthy
1、脚本输出包含以"ERROR"开头的字符串,不管是一个还是多个都算
2、执行脚本的时候出现超时
3、执行脚本出现异常
涉及的参数,配置于yarn-site.xml
1、yarn.nodemanager.health-checker.script.path:健康检测脚本的路径,默认为空
2、yarn.nodemanager.health-checker.script.opts:健康检测脚本的输入参数,如果有多个请使用空格分割。
3、yarn.nodemanager.health-checker.interval-ms:健康检测脚本的运行间隔,默认是10分钟运行一次
4、yarn.nodemanager.health-checker.script.timeout-ms:健康检测脚本运行超时时间,默认为20分钟,运行时间超过该时间则认为不健康

三、本地目录检测
检测的目录主要是yarn.nodemanager.local-dirs和yarn.nodemanager.log-dirs参数指定的目录,这两个目录分别用于存储应用程序运行的中间结果和日志文件存放目录列表。
健康判断标准:NodeManager是否对这个目录可读、可写、可执行。
涉及的参数,配置于yarn-site.xml
1、yarn.nodemanager.local-dirs:默认为${hadoop.tmp.dir}/nm-local-dir,hadoop.tmp.dir配置于core-site.xml中
2、yarn.nodemanager.log-dirs:默认为${yarn.log.dir}/userlogs,yarn.log.dir等于${YARN_LOG_DIR},在yarn-env.sh中export YARN_LOG_DIR=xxx指定
3、yarn.nodemanager.disk-health-checker.interval-ms:本地目录健康检测间隔,默认值为2分钟
4、yarn.nodemanager.disk-health-checker.enable:是否启用本地目录健康检测,默认值是启用
5、yarn.nodemanager.disk-health-checker.min-healthy-disks:默认为0.25,正常目录数目相对于总目录总数的比例,低于这个值则认为此节点处于不正常状态。

四、磁盘使用率检测
当磁盘空间使用率超过一定阈值时,NodeManager会向ResourceManager报告Unhealthy状态
yarn.nodemanager.disk-health-checker.min-healthy-disks:默认值为90.0
 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值