Hive问题之执行sql的mapreduce时卡在Kill Command
1、首先遇到问题先查日志,我的hadoop采用yarn进行资源管理调度,需要查看日志yarn-hadoop-resourcemanager-hadoop.log
2、唯一的一个node节点出现不健康状态的日志
3、执行命令确认 yarn node -list all,确实有不健康的节点
4、原因:NodeManager默认会每两分钟检查本地磁盘(local-dirs),找出那些目录可以使用。注意如果判定这个磁盘不可用,则在重启NodeManager之前,就算磁盘好了,也不会把它变成可用。当好磁盘占有率高于一定数值时,会把这台机器变成unhealthy,将不会再给这台机器分配任务。
5、这个数值是由这个yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage属性来配置的,默认是90,也就是当磁盘占有空间大于90%的时候会将该节点置为unhealthy节点。如果为unhealthy节点cpu和内存都无法使用
6、解决办法:
* 1 把节点上的不用的东西删完,删到90%以下即可
* 2 在yarn-site.xml中添加以下配置信息,提高额度,然后重启服务,问题解决
<property>
<name>yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage</name>
<value>95</value>
</property>