Skip to content

Kerberos常见问题

1. Kerberos启动异常

  1. Kerberos启动后台日志提示异常:No such file or directory - while initializing database for realm HADOOP.COM
    在/var/log/krb5kdc.log中发现No such file or directory - while initializing database for realm HADOOP.COM
    解决方法:
    1)检查kdc.conf和krb5.conf文件是否配置正确,修改配置,注意:配置文件的[kdcdefaults],[logging]、[libdefaults]等的里面不能有空格
  2. 停止服务
sh
service krb5kdc stop
service kadmin stop
  1. 删除Kerberos数据库,重新创建数据库
sh
rm -rf /var/kerberos/krb5kdc/*principal*
kdb5_util create -s -r HADOOP.COM
  1. 创建管理员
sh
kadmin.local -q "addprinc admin/admin"
  1. 启动服务
sh
service krb5kdc start
service kadmin start

2. kinit通过keytab认证出现异常

通过Linux的jack主体执行kinit -kt /root/jack.keytab jack出现下面情况:

sh
kinit: ???? while getting initial credentials
或者
kinit: Permission denied while getting initial credentials

解决方式:
(1)使用root用户修改jack.keytab的所属用户

sh
chown jack /root/jack.keytab

(2)修改jack.keytab的权限为660

sh
chmod 660 /root/jack.keytab

3. kinit认证时密码输入正确却提示密码错误

sh
[root@hadoop101 ~]# kinit jack
Password for jack@HADOOP.COM: 
kinit: Password incorrect while getting initial credentials

这是因为jack已经生成了keytab,所以此时通过这种方式不能认证,需要通过keytab文件来认证,或者修改密码后再认证(修改密码后之前的keytab文件会失效)。

sh
[root@hadoop101 ~]# kinit -kt /root/jack.keytab jack
[root@hadoop101 ~]# klist 
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: jack@HADOOP.COM

Valid starting     Expires            Service principal
08/27/19 16:00:39  08/28/19 16:00:39  krbtgt/HADOOP.COM@HADOOP.COM
        renew until 08/27/19 16:00:39

4. 创建数据库异常

报错信息:Bad krb5 admin server hostname while initializing kadmin interface 原因:在krb5.conf文件中为admin_server配置了无效的主机名。
解决办法:修改krb5文件,检查admin_server配置是否正确的主机名,修改后,重启执行创建数据库的命令。

5. Zookeeper集群启动异常

异常信息:Could not configure server because SASL configuration did not allow the ZooKeeper server to authenticate itself properly: javax.security.auth.login.LoginException: No password provided 问题:属于认证凭证更新问题。
解决办法:ZooKeeper启动安全机制,重新生成Krb5凭证。
每个主机重新更新凭证方法:全部服务停止和Cloudera Manager服务停止,修改Kerberos配置中的Kerberos加密类型随便添加一个,就可以主机更新Krb5凭证,然后在改回去在重新生成一次。

6. Hue启动,Kerberos Ticket Renewer起不来

sh
[root@hadoop101 ~]# kinit hue
Password for hue@HADOOP.COM: 
[root@hadoop101 ~]# kadmin.local 
Authenticating as principal hue/admin@HADOOP.COM with password.

kadmin.local:  modprinc -maxrenewlife 90day krbtgt/HADOOP.COM@HADOOP.COM
Principal "krbtgt/HADOOP.COM@HADOOP.COM" modified.

kadmin.local: modprinc -maxrenewlife 90day +allow_renewable krbtgt/HADOOP.COM@HADOOP.COM
Principal "krbtgt/HADOOP.COM@HADOOP.COM" modified.