最近在将hdfs中已经处理好的数据导入到mysql的时候遇到这么一个现象,当任务执行到
INFO mapreduce.Job: map 100% reduce 0%
mapreduce任务卡在map100% ,任何reduce不继续执行。
总结了以下解决办法:
一,如果没有报错的话,可能是你mysql的数据库建表指定的主键不全,导致导入一部分数据后,主键出现相同字段,那么就造成阻塞了
二,如果报错的话,可能就是配置问题,集群无法承载如此大量数据的处理,资源紧张导致的阻塞
对于第一种,仔细查看表的结构,看看是否有的字段长度不够,或者建表时指定的主键不够全
第二个错误,可以配置一下yarn-site.xml文件
1. <property>重启yarn尝试重新运行试试。
2. <name>yarn.nodemanager.resource.memory-mb</name>
3. <value>20480</value>
4. </property>
5. <property>
6. <name>yarn.scheduler.minimum-allocation-mb</name>
7. <value>2048</value>
8. </property>
9. <property>
10. <name>yarn.nodemanager.vmem-pmem-ratio</name>
11. <value>2.1</value>
12. </property>