hadoop token过期问题

1、Token 过期问题 

Failed to Update HDFS Delegation Token for long running application in HA mode

参见 

https://issues.apache.org/jira/browse/HDFS-9276 

https://github.com/apache/spark/pull/9168


错误信息:
org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.token.SecretManager$InvalidToken): token (HDFS_DELEGATION_TOKEN token 953 for gahw) is expired

这是个HDFS-9276 的 Bug.

http://mkuthan.github.io/blog/2016/09/30/spark-streaming-on-yarn/

https://stackoverflow.com/questions/39540110/hdfs-delegation-token-expired-even-after-adding-principle-to-command-line

https://issues.apache.org/jira/browse/SPARK-8688

影响版本:Hadoop 2.7.1

解决方法:


PS:
当在代码里进行kerberos认证的话,使用--principal $principal --keytab $keytab 会冲突。
因此需要定期去执行kinit ,或者监控程序重新拉起程序。

可以不在代码里认证,使用--principal $principal --keytab $keytab,
再CLASSPATH的“core-site.xml”文件中,添加如下配置参数,关闭HDFS文件系统的缓存机制:
<property>
<name>fs.hdfs.impl.disable.cache</name>
<value>true</value>
</property>

或者启动脚本里配置 --conf spark.hadoop.fs.hdfs.impl.disable.cache=true
进而避免上述问题。

2、HDFS小文件问题及解决方案
http://dongxicheng.org/mapreduce/hdfs-small-files-solution/


猜你喜欢

转载自blog.csdn.net/u010170616/article/details/80858259
今日推荐