在/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)停止服务
service krb5kdc stop service kadmin stop3)删除Kerberos数据库重新创建数据库
rm -rf /var/kerberos/krb5kdc/*principal* kdb5_util create -s -r HADOOP.COM4)创建管理员
kadmin.local -q "addprinc admin/admin"5)启动服务
service krb5kdc start service kadmin start通过Linux的atguigu主体执行kinit -kt /root/atguigu.keytab atguigu出现下面情况:
kinit: ???? while getting initial credentials 或者 kinit: Permission denied while getting initial credentials解决方式: 1)使用root用户修改donglin.keytab的所属用户:
chown donglin /root/donglin.keytab 修改donglin.keytab的权限为660 chmod 660 /root/donglin.keytab这是因为donglin已经生成了keytab,所以此时通过这种方式不能认证,需要通过keytab文件来认证,或者修改密码后再认证(修改密码后之前的keytab文件会失效)。
[root@hadoop102 ~]# kinit -kt /root/donglin.keytab donglin [root@hadoop102 ~]# klist Ticket cache: FILE:/tmp/krb5cc_0 Default principal: donglin@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:39Bad krb5 admin server hostname while initializing kadmin interface 原因:在 krb5.conf 文件中为 admin_server 配置了无效的主机名。 解决办法:修改krb5文件,检查admin_server配置是否正确的主机名,修改后,重启执行创建数据库的命令。
异常信息: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凭证,然后在改回去在重新生成一次