hdfs委托令牌即使在将原则添加到命令行之后也已过期

zwghvu4y  于 2021-06-02  发布在  Hadoop
关注(0)|答案(3)|浏览(347)

我正在hadoop中运行spark流媒体作业。这台机器是kerberized和它运行了42个小时的罚款和失败,由于hdfs令牌委托到期。
我甚至为kinit命令设置了crontab,该命令每8小时运行一次,并且我有10小时的max renew lifetime令牌。
由于以下错误而失败:org.apache.hadoop.ipc.remoteexception(org.apache.hadoop.security.token.secretmanager$invalidtoken):token(hdfs\u delegation\u token token)
在启动作业时,我还在命令行中按原则运行该作业。

5anewei6

5anewei61#

这已经晚了几年,但万一有人无意中发现:
禁用fs缓存( fs.hdfs.impl.disable.cache=true )手段 FileSystem#get 每次调用时都将创建一个新的文件系统。
相反,如果您通过,app master看起来可以刷新委派令牌 --keytabspark-submit :
https://www.cloudera.com/documentation/enterprise/5-12-x/topics/cm_sg_yarn_long_jobs.html#xd_583c10bfdbd326ba-590cb1d1-149e9ca9886--7a82型
https://spark.apache.org/docs/latest/security.html#yarn-模式

nom7f22z

nom7f22z2#

即使设置了此配置,spark作业也将失败。我们面临着同样的问题。
令牌仅在24小时内有效。如果每24小时自动更新一次令牌,直到它达到最大生存期(即7天),则令牌将无法再更新,需要重新发布,因此应用程序将失败。
这可能有助于解决问题。https://community.cloudera.com/t5/support-questions/long-running-spark-streaming-job-that-crashes-on-hdp-2-3-4-7/td-p/181658

9ceoxa92

9ceoxa923#

问题解决了。。。!在启动作业时,在spark命令行中添加了以下配置,它成功了。
--conf spark.hadoop.fs.hdfs.impl.disable.cache=true
或者,您可以在配置级别更改此项以全局影响。
我测试了它三天运行良好。
谢谢

相关问题