hadoop3 任务卡在map 0% reduce 0%的解决方案

在VMWare上面配置好了hadoop3之后,当然是先试跑一下案例。然而在master上面运行wordcount的时候却出现了卡在map 0% reduce 0%的情况,搜索了这个问题的相关解决方案,基本是修改yarn-site.xml的配置,如
1.增大cpu数,yarn.nodemanager.resource.cpu-vcores
2.增大每个节点可用内存,yarn.scheduler.maximum-allocation-mb
3.调整虚拟内存值,yarn.nodemanager.vmem-pmem-ratio
然而都尝试了之后还是一样会卡在map 0% reduce 0%上面(防火墙均已关闭),通过网页查看8088端口上面可以看到application一直在running上面。后来在一篇blogHadoop运行任务时一直卡在: INFO mapreduce.Job: Running job上的评论看到,将mapred-site.xml里面的yarn模式去掉之后就可以跑wordcount了。尝试该方法后wordcount也的确跑通了,但是在8088上完全看不到job的运行情况,hadoop -job list也报空指针错误。原因是在不用yarn模式下,hadoop将会使用local模式执行任务,不会用到resourcemanager,自然也不会在8088端口上可见。
回顾了一下之前配置的节点结构:

namenode:master
datanode:slave1
datanode:slave2

由于之前一直是在master节点上开启resourcemanager,slave1节点上开启nodemanager,slave2上没有开启nodemanager,然后今天在slave2上开启了nodemanager之后,再到master节点上运行wordcount,结果就成功了,原来是之前slave2上没有开启nodemanager,导致resourcemanager无法分配资源到slave2上,因此就一直卡在map 0% reduce 0%上。现在开启之后,任务成功运行,而8088端口上面也能看到运行结果了。在这里插入图片描述另外,如果slave2节点没有开启(即处于关机状态),运行wordcount同样也会卡住,那么只需要将该节点开启,并执行

[root@slave2 sbin]# ./hadoop-daemon.sh start datanode
[root@slave2 sbin]# ./yarn-daemon.sh start nodemanager

即可将节点加入resourcemanager,无需重启整个集群。

总结:遇到问题可以先尝试在网上查找问题的相关解决方法,如果这些方法不能成功,则需要从具体情况出发,多尝试一些方法,直到解决问题为止。

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值