问题描述:
用hive查询的时候使用mapreduce离线查询就一直卡在这里,百思不得其解!
原因分析:
原来是yarn出了问题,两个节点都是standby!查看RM(resourcemanager)状态:
bin/yarn rmadmin -getServiceState rm1 和 bin/yarn rmadmin -getServiceState rm2
出现都为standby的情况!!!
解决方案:
进入/home/hadoop/app/hadoop/logs查看情况,发现block块应该是缺失了!
如果没有退出安全模式,先执行bin/hdfs dfsadmin -safemode leave 退出安全模式;
在确保退出安全模式的情况下,检测缺失块,在hadoop目录下分别执行:
- hdfs fsck -list-corruptfileblocks
- hdfs fsck / | egrep -v ‘^.+$’ | grep -v eplica
执行完后,丢失block的路径就出现了,会出现missing字段,分别复制missing前面的路径;
执行:bin/hdfs dfs –rm 路径;
最后,重启hadoop集群,问题解决!!!