最近在用cm给cdh配置kerberos认证,按照官网上的步骤进行配置(用的是cdh5.4.5),配置后在启动impala时,Impala Daemon出现问题:
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: "host1/ip1"; destination host is: "host2":8020;
没找到什么原因。后面发现在服务器上访问hdfs时,在kerberos服务器上,使用kinit hdfs登录后,执行hadoop fs -ls / 可以访问;但在kerberos客户端上,使用kinit hdfs登录后,执行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: "host1/ip1"; destination host is: "host2":8020;
这个错误和在启动impala时报的错一样。这里,kerberos服务端是安装在namenode上的,datanode上安装的全是kerberos客户端。这几台服务器上面的/etc/krb.conf文件完全一样。
在网上面查到,这个错误一般是服务器上没有缓存tgt信息,可是我用klist命令查看时,是有tgt的缓存信息的,如下所示:
[root@bjm6-17-121 ~]# klist -e
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: hdfs@HADOOP.58OS.ORG
Valid starting Expires Service principal
09/02/15 19:00:46 09/03/15 19:00:46 krbtgt/HADOOP.58OS.ORG@HADOOP.58OS.ORG
renew until 09/09/15 19:00:46, Etype (skey, tkt): aes256-cts-hmac-sha1-96, aes256-cts-hmac-sha1-96
其中,renew_lifetime是7d,ticket是可重新生成的。
各位大神,麻烦帮我看一下这是怎么回事,我都弄了好长一段时间了,都快疯了!!
求大神们不吝赐教,不胜感激!
|