美文网首页
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