Executor进程中有1个Credential Refresh Thread会根据
token renew周期 *0.8
的时间比例去HDFS上获取更新后的Credential文件,用来刷新UserGroupInformation中的token,避免token失效。
当Executor进程的Credential Refresh Thread发现当前时间已经超过Credential文件更新时间(即
token renew周期 *0.8
)时,会等待1分钟再去HDFS上面获取最新的Credential文件,以确保AM端已经将更新后的Credential文件放到HDFS上。
当
“dfs.namenode.delegation.token.renew-interval”
配置值小于60秒,Executor进程起来时发现当前时间已经超过Credential文件更新时间,等待1分钟再去HDFS上面获取最新的Credential文件,而此时token已经失效,task运行失败,然后在其他Executor上重试,由于重试时间都是在1分钟内完成,所以task在其他Executor上也运行失败,导致运行失败的Executor加入到黑名单,没有可用的Executor,应用退出。