即使在向命令行添加原则后,HDFS 委托令牌也已过期
HDFS Delegation token expired even after adding principle to command line
我是 运行 hadoop 中的 spark streaming 工作。该机器已进行 kerberos 化,运行 正常运行 42 小时,但由于 HDFS 令牌委托到期而失败。
我什至为每 8 小时运行一次的 kinit 命令设置了 crontab,并且我有 10 小时的 Max-renew 生命周期令牌。
Failed due to error: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.token.SecretManager$InvalidToken): token (HDFS_DELEGATION_TOKEN token
我也是运行在命令行启动时有原则的工作
问题已解决...!
在启动作业时将以下配置添加到 spark 命令行,它起作用了。
--conf spark.hadoop.fs.hdfs.impl.disable.cache=true
或者您可以在 yarn 配置级别更改它以影响全局。
我测试了它 运行 3 天没问题。
谢谢
这晚了几年,但以防万一有人偶然发现:
禁用 FS 缓存 (fs.hdfs.impl.disable.cache=true
) 意味着 FileSystem#get
每次调用时都会创建一个新的文件系统。
相反,如果您将 --keytab
传递给 spark-submit
,应用程序管理员似乎可以刷新委托令牌:
即使设置了此配置,Spark 作业也会失败。我们遇到了同样的问题。
令牌仅在 24 小时内有效。 Yarn 每 24 小时自动更新一次令牌,直到达到最大生命周期(即 7 天),然后令牌无法再更新,需要重新发布,因此应用程序将失败。
我是 运行 hadoop 中的 spark streaming 工作。该机器已进行 kerberos 化,运行 正常运行 42 小时,但由于 HDFS 令牌委托到期而失败。
我什至为每 8 小时运行一次的 kinit 命令设置了 crontab,并且我有 10 小时的 Max-renew 生命周期令牌。
Failed due to error: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.token.SecretManager$InvalidToken): token (HDFS_DELEGATION_TOKEN token
我也是运行在命令行启动时有原则的工作
问题已解决...! 在启动作业时将以下配置添加到 spark 命令行,它起作用了。
--conf spark.hadoop.fs.hdfs.impl.disable.cache=true
或者您可以在 yarn 配置级别更改它以影响全局。
我测试了它 运行 3 天没问题。
谢谢
这晚了几年,但以防万一有人偶然发现:
禁用 FS 缓存 (fs.hdfs.impl.disable.cache=true
) 意味着 FileSystem#get
每次调用时都会创建一个新的文件系统。
相反,如果您将 --keytab
传递给 spark-submit
,应用程序管理员似乎可以刷新委托令牌:
即使设置了此配置,Spark 作业也会失败。我们遇到了同样的问题。
令牌仅在 24 小时内有效。 Yarn 每 24 小时自动更新一次令牌,直到达到最大生命周期(即 7 天),然后令牌无法再更新,需要重新发布,因此应用程序将失败。