1.1 任务卡在map 100% reduce 0%
将hdfs中已经处理好的数据导入到MySQL的时候遇到这么一个现象,当任务执行到
INFO mapreduce.Job: map 100% reduce 0%
mapreduce任务卡在map100% reduce 0%
,任何reduce都不执行,并且还会timeout。
解决办法:
- 查看日志如果没有报错的话,如果mysql设置了主键,在导入数据的时候发现主键唯一冲突,它就会在Reduce阻塞,也不会报错,所以就会timeout;所以有可能是mysql的数据库建表指定的主键不全,导致导入一部分数据后,主键出现相同字段,那么就造成阻塞了。
- 这个时候就是数据的问题而不是环境的问题了,需要修改数据。
- 查看日志如果报错的话,可能就是配置问题,集群无法承载如此大量数据的处理,资源紧张导致的阻塞。
- 在
yarn-site.xml
文件中修改配置,然后重启yarn,尝试重新运行。
- 在
# 具体参数请参考YARN的参数配置
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>20480</value>
</property>
<property>
<name>yarn.scheduler.minimum-allocation-mb</name>
<value>2048</value>
</property>
<property>
<name>yarn.nodemanager.vmem-pmem-ratio</name>
<value>2.1</value>
</property>