现象: Yarn原生界面显示2个UNHEALTHY NODES,但CM界面并未提示任何故障。
原因: DataNode和NodeManager共享本地目录,DN数据占满空间后,NM则无法工作,所以之前在DN的配置项内限定了dfs.datanode.du.reserved=20G,表示预留20G给其他非DN服务使用。CM之所以未告警是因为bighadoop07和bighadoop10上的每块磁盘的空闲资源确实小于20G:
1.jpg
但Yarn默认还会去检查NM使用的磁盘使用率,默认超过90%则会告警,默认超过75%的磁盘使用率都超过90%,则标记该节点不可用,则该节点的NM停止工作。同时CM并未监控YARN的这些参数:
2.jpg
解决方案:
(1) 把Yarn的监控比率调高到96%,则500G的磁盘可以使用480G,200G的磁盘可以使用192G,100G的磁盘可以使用96G,依次空闲20G,8G,4G。
(2) 继续使用dfs.datanode.du.reserved=20G控制磁盘使用率,这样NM就可以保证96%以内的使用率。但是为了避免临界值的问题,调整为98%更好点。
<property>
<name>yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage</name>
<value>98</value>
</property>
网友评论