2016-09-16 42 views
2

我正在hadoop中运行Spark流作业。该机器是kerberized,它运行良好42小时,并由于HDFS令牌委托失效而失败。即使将命令行添加到命令行后,HDFS委托令牌也会过期

我甚至将crontab设置为每8小时运行一次的kinit命令,并且我拥有10小时的Max-renew lifetime令牌。

Failed due to error: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.token.SecretManager$InvalidToken): token (HDFS_DELEGATION_TOKEN token

我也在启动它的同时在命令行中使用原则执行作业。

回答

3

问题已解决...! 在启动作业时添加了以下配置来启动命令行,并且它工作正常。

--conf spark.hadoop.fs.hdfs.impl.disable.cache=true

或者您可以在纱线配置级别更改此设置以影响全局。

我测试它运行良好3天。

感谢

+0

也试图加入“--conf mapreduce.job.complete.cancel.delegation.tokens =假”,帮我的一个多星期运行作业,它是解决..! – Mahadevan

+0

我在提交Spark Streamming作业时添加了“--conf spark.hadoop.fs.hdfs.impl.disable.cache = true”和“--conf mapreduce.job.complete.cancel.delegation.tokens = false”,但这是行不通的。 – leocook