ResourceManager进行主备切换后,任务中断后运行时间过长
问题
在MapReduce任务运行过程中,ResourceManager发生主备切换,切换完成后,MapReduce任务继续执行,此时任务的运行时间过长。
解答
因为ResourceManager HA已启用,但是Work-preserving RM restart功能未启用。
如果Work-preserving RM restart功能未启用,ResourceManager切换时container会被kill,然后导致Application Master超时。
可以通过如下方式启用Work-preserving RM restart功能:
TM界面搜索框中“yarn.resourcemanager.work-preserving-recovery.enabled”,设置参数值为“true”。保存配置后,在业务低峰期重启Yarn配置过期的实例。
在缓存中找不到HDFS_DELEGATION_TOKEN如何处理
问题
安全模式下,在缓存中找不到HDFS_DELEGATION_TOKEN
解答
在MapReduce中,默认情况下,任务完成之后,HDFS_DELEGATION_TOKEN将会被删除。因此如果在下一个任务中再次使用HDFS_DELEGATION_TOKEN,缓存中将会找不到HDFS_DELEGATION_TOKEN。
为了能够在随后的工作中再次使用同一个Token,为MapReduce任务配置参数。当参数为false时,用户能够再次使用同一个Token。
jobConf.setBoolean("mapreduce.job.complete.cancel.delegation.tokens", false);