美文网首页
nodemanager健康状态检查

nodemanager健康状态检查

作者: 后知不觉1 | 来源:发表于2022-02-22 20:13 被阅读0次

背景

任务堆积产生告警,执行yarn node -list 发现一个node节点都没有,排查日志发现 /data1/yarn/local, ary bad 确定是nodemanger处于非健康状态

1、健康检查

image.png

NodeHealthCheckerService通过周期性地运行一个自定义脚本(由组件NodeHealthScriptRunner完成)和向磁盘写文件(由服务LocalDirsHandlerService完成)检查节点的健康状况,并将之通过NodeStatus-Updater传递给ResourceManager。一旦ResourceManager发现一个节点处于不健康状态,则会将它加入黑名单,此后不再为它分配认为,直到再次转为健康状态。

节点被加入黑名单后,正在运行的Container仍会正常运行,不会被杀死

2. 自定义Shell脚本健康检查

在yarn-site.xml文件中配置这些参数,用于拓展健康检查环境,内存,io等


image.png

demo 可用内存少低于10%认为不健康脚本,默认没有脚本,不会启动线程

#!/bin/bash
MEMORY_RATIO=0.1
freeMem=`grep MemFree /proc/meminfo | awk '{print $2}'`
totalMem=`grep MemTotal /proc/meminfo | awk '{print $2}'`
limitMem=`echo | awk '{print int("'$totalMem'"*"'$MEMORY_RATIO'")}'`
if [ $freeMem -lt $limitMem ];then
  echo "ERROR, totalMem=$totalMem, freeMem=$freeMem, limitMem=$limitMem"
else
  echo "OK, totalMem=$totalMem, freeMem=$freeMem, limitMem=$limitMem"
fi

3. 磁盘健康检查

默认自带的健康检查方式,默认是开启的

名称 含义 默认值 备注
yarn.nodemanager.disk-health-checker.enable 开启磁盘健康检查 true
yarn.nodemanager.disk-health-checker.disk-utilization-threshold.enabled 开启磁盘使用率健康检查 true
yarn.nodemanager.disk-health-checker.disk-free-space-threshold.enabled 开启磁盘最小空间健康检查 true
yarn.nodemanager.disk-health-checker.interval-ms 健康检查执行频率 120000 ms
yarn.nodemanager.disk-health-checker.min-healthy-disks 磁盘健康比例,低于该值则被标记不健康,按照默认比例计算比如5块盘,坏了4块就会标记为不健康 0.25
yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage 最大磁盘使用率,高于该值则被标记不健康 90
yarn.nodemanager.disk-health-checker.min-free-space-per-disk-mb 磁盘可用空间低于该值标记为不健康状态 0mb
yarn.nodemanager.disk-health-checker.min-free-space-per-disk-watermark-high-mb 磁盘可用空间高于该值标记为健康 0mb 一般不用

相关文章

网友评论

      本文标题:nodemanager健康状态检查

      本文链接:https://www.haomeiwen.com/subject/kigglrtx.html