具体问题
javax.security.sasl.SaslException: GSS initiate failed [Caused by GSSException: No valid credentials provided (Mechanism level: Failed to find any Kerberos tgt)]
问题可能的原因
1. 没有Kinit认证
具体可以详见我另外一篇博客Kerberos : Unable to obtain password from user
kinit -kt xxx.keytab principl
2. /etc/krb5.conf里配置的cache不对
# 如下这种方式会放在linux缓存区,应用程序可能读取不到
default_ccache_name = KEYRING:session:%{uid}
#这种方式会落成文件,应用程序可以读到
default_ccache_name = /tmp/krb5cc_%{uid}
3. 另外一种可能
请保证你当前kinit的用户,与你的程序执行时是同一用户。
也即,如果是shell脚本,请保证你的脚本中不含有su xuser、sudo -u xuser等