标题Hadoop搭建伪分布式时候
这个错误浪费了我两天时间才找到,特来记录一下
异常效果
mapreaduce运行在LOCAL时,一切正常
mapreaduce运行在YARN时,程序卡死,无任何错误日志,如下图:
Review
出现问题时候,这里的健康状态一直是false,但是nodemanager也没有错误日志,当时忽视了这里。如果大家也出现这个问题,直接查硬盘容量问题,应该少走冤枉路。
思考方向
- 机器内存是否不足
- hosts配置文件是否正确,host是否指向正确的ip
- hadoop配置是否正确
- jps查看namenode,datanode,resourcemanager,nodemanager是否都启动
- 机器硬盘容量是否充足(我就是在这里卡死的)
多次尝试
1:检查内存
resourcemanager的警告日志,大概提示是内存问题,然后给虚拟机加内存后还是提示这个问题,只是警告应该不会影响主流程。
2020-03-22 12:50:33,705 WARN org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.LeafQueue: maximum-am-resource-percent is insufficient to start a single application in queue, it is likely set too low. skipping enforcement to allow at least one application to start
2020-03-22 12:50:33,705 WARN org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.LeafQueue: maximum-am-resource-percent is insufficient to start a single application in queue for user, it is likely set too low. skipping enforcement to allow at least one application to start
2:检查host
3:检查配置
配置没问题
yarn-site.xml:
mapred-site.xml:
4:jsp
5:检查硬盘
这里有个很重要的问题就是,hadoop硬盘容量的阈值时90%,这里已经超过阈值,可能是这点导致了程序卡死。
要么新加挂载硬盘,要么配置阈值。
我linux有点水,看着网上的教程搞了半天挂载新盘,过程有点复杂,中间可能有点问题,但是/dev/sdb1已经挂载上了,但是不知道是不是在根目录。
那只能配置阈值,阈值设置到100%。
yarn-site.xml
<property>
<name>yarn.nodemanager.disk-health-checker.min-healthy-disks</name>
<value>0.0</value>
</property>
<property>
<name>yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage</name>
<value>100.0</value>
</property>
</configuration>