hdfs使用kerberos以后,执行hadoop fs -ls命令,报错如下:
Failed on local exception: java.io.IOException: javax.security.sasl.SaslException: GSS initiate failed [Caused by GSSException: No valid credentials provided (Mechanism level: Failed to find any Kerberos tgt)]; Host Details : local host is: "hadoop01/192.168.148.129"; destination host is: "hadoop01":9000;
解决方法:
配置krb5.conf时候屏蔽关于 #default_ccache_name的配置,hadoop启动时是基于这个位置去寻找认证缓存的
[libdefaults]
dns_lookup_realm = false
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = true
rdns = false
default_realm = HADOOP.COM
#default_ccache_name = KEYRING:persistent:%{uid}
参考: