gpt4 book ai didi

hadoop - 在缓存中找不到 Hdfs 委托(delegate) token - Spark 应用程序出错

转载 作者:可可西里 更新时间:2023-11-01 14:23:40 25 4
gpt4 key购买 nike

我在 Spark 版本 2.3.0 中有一个简单的 Spark Streaming 应用程序,它将每个处理批处理的结果放在 HDFS 上。我的应用程序在部署模式客户端的 YARN 上运行,我正在使用 kerberized hadoop 集群 (hadoop2.6.0-cdh5.9.3)。我在 spark-submit 命令中设置了 --principal 和 --keytab。

几天后,由于缓存中缺少委托(delegate) token ,我的应用程序无法写入 HDFS。重新启动应用程序后,流媒体工作正常,但几天后由于同样的原因再次失败。

这是来自驱动程序的日志:

ERROR JobScheduler: Error running job streaming job 1528366650000 ms.0
org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.token.SecretManager$InvalidToken): token (token for spark_online: HDFS_DELEGATION_TOKEN owner=spark@DCWP, renewer=yarn, realUser=, issueDate=1528232733578, maxDate=1528837533578, sequenceNumber=14567778, masterKeyId=1397) can't be found in cache

当我在应用程序配置中添加 spark.hadoop.fs.hdfs.impl.disable.cache=true 时问题可以解决,但是禁用缓存对处理性能有很大影响。

如果有人能帮助我,我将不胜感激!

最佳答案

您的 kerberos 票证很可能需要刷新(这就是为什么它会在您重新启动时起作用的原因)。

Lifetime of Kerberos tickets在这两个设置上有一个相当不错的演练,特别是你必须要看的。

  • 选项 1:将生命周期设置为更长的时间
  • 选项 2:有第二个进程,只要您需要它就会在后台 kinit

我更喜欢选项 1,使用 30 天左右。这是跟踪“我最后一次重启该服务是什么时候”的好方法。

关于hadoop - 在缓存中找不到 Hdfs 委托(delegate) token - Spark 应用程序出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51153675/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com