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文件系统的缓存机制:
或者启动脚本里配置 —conf spark.hadoop.fs.hdfs.impl.disable.cache=true
进而避免上述问题。
2、HDFS小文件问题及解决方案
http://dongxicheng.org/mapreduce/hdfs-small-files-solution/
还没有评论,来说两句吧...