网站首页 > 技术文章 正文
- 启停
#kadmin进程状态、启动、停止
systemctl kadmin status/stop/start
#krb5kdc进程状态、启动、停止
systemctl krb5kdc status/stop/start
- KDC日志
/var/log/krb5kdc.log
注:可以通过查看日志,发现认证信息相关错误。例如当前的认证pincipal在服务器中是否存在,认证为啥失败等信息。
- KDC周期备份脚本
/var/kerberos/krbtools/sync_kdc.sh
- 手动执行KDC备份命令
1)kdb5_util dump /var/kerberos/krb5kdc/slave_datatrans
2)kprop -f /var/kerberos/krb5kdc/slave_datatrans masterbak
报错如下:
Key table entry not found while getting initial ticket
3)检查主备的krb5.keytab是否包含两个principal,KDC库中正常应存在host/master@DC1.XX.COM以及host/masterbak@DC1.XX.COM
- 查看keytab信息(存储的princial信息)
#查看keytab中的principal
klist -kt /etc/hadoop/hdfs/hdfs.keytab
- 查看principal信息
#进入KDC的服务器,执行如下命令
kadmin.local
#查看principal信息
getprinc hdfs/hm001@DC1.XX.COM
- 认证票据更新
#Hadoop代码更新票据
UserGroupInformation.getLoginUser().checkTGTAndReloginFromKeytab();
#shell更新
kinit -kt /etc/hadoop/hdfs/hdfs.keytab hdfs/hm001@DC1.XX.COM
注:可以根据klist先查看当前keytab中存储的principal信息,然后进行认证。
- Windows环境下使用keytab文件进行认证登录,报错 kinit: Bad encryption type while getting initial credentials
原因分析:当前使用的Kerberos服务为Centos 7u4操作系统上默认的kerberos版本1.15.1-8.el7,该版本kerberos服务默认支持的加密类型supported_enctypes = aes256-cts:normal aes128-cts:normal des3-hmac-sha1:normal arcfour-hmac:normal camellia256-cts:normal camellia128-cts:normal des-hmac-sha1:normal des-cbc-md5:normal des-cbc-crc:normal,比6ux系统新增了camellia256-cts:normal camellia128-cts:normal两种加密类型,当前我们Windows版本使用的MIT Kerberos客户端自带kinit工具不支持这两种加密方式,导致kinit执行报错。
解决方法:客户端创建用于windows环境认证登录的keytab文件时,添加-e选项指定加密方式
ktadd -e "aes256-cts:normal aes128-cts:normal des3-hmac-sha1:normal arcfour-hmac:normal des-hmac-sha1:normal des-cbc-md5:normal des-cbc-crc:normal" -kt /tmp/hello.keytab hello@DC1.XX.COM
- kvno不一致问题
问题现象:出问题的节点的keytab中存储的principal的kvno和KDC服务端不一致。
查看问题节点的kvno:klist -kt
/etc/hadoop/HTTP/HTTP.keytab
查看主节点的kvno:getprinc HTTP/hb17111@DC1.XX.COM
两者的kvno不一致。
使问题节点的keytab和KDC服务端保持一致(重新生成新的keytab,发放问题节点):kadd -k
/etc/hadoop/HTTP/HTTP.keytab HTTP/hb17111@DC1.XX.COM
- kdb5_util:Improper format of Kerberos configuration file while initializing
解决方案:仔细排查
/var/kerberos/krb5kdc/kdc.conf文件是否有问题(格式)。
- Windows下kinit不起作用,或出现too many parametes
where kinit检查下是否用的是java的kinit、检查kinit 命令(注意-k -t隔开)。
- Kerberos打开DEBUG日志
Kerberos打开debug日志:配置文件
/opt/software/hadoop/hdfs/libexec/hadoop-config.sh中加入如下内容:HADOOP_OPTS="$HADOOP_OPTS -Dsun.security.krb5.debug=true"
- kinit: Client not found in Kerberos database while getting initial credentials
解决方案:
1) 命令输错:kinit –kt nbhd.keytab nbhd@DC1.XX.COM
2) KDC服务器,kadmin.local进去之后数据库查看下有没有对应princal
- Klist:Included profile directory
问题表现:
解决方案:屏蔽该行。
- principal走通配符(Hadoop配置文件通配符)
问题表现:IllegalArgumentException:Server has invalid Kerberos principal
解决方案:
dfs.namenode.kerberos.principal.pattern
*
dfs.datanode.kerberos.principal.pattern
*
hadoop.http.authentication.kerberos.principal.pattern
*
yarn.resourcemanager.principal.pattern
*
yarn.nodemanager.principal.pattern
*
yarn.web-proxy.principal.pattern
*
mapreduce.jobhistory.principal.pattern
*
- KDC日志中报:
问题表现:
解决方案:检查Kerberos所在服务器 /etc/hosts配置信息
小结:Kerberos问题相比之下,比较难解决,需要打破常规,跳出思维定式。
猜你喜欢
- 2025-03-23 常用的八个cmd网络命令,你会熟练应用吗?
- 2025-03-23 linux系统实用篇-4、用户和权限管理
- 2025-03-23 说说 Activiti 中的用户与组的概念
- 2025-03-23 想打开Win10隐藏的神秘功能吗,请打开操作系统的隐藏“模式”
- 2025-03-23 Linux中的用户管理(linux的用户管理文件有哪三个?)
- 2025-03-23 IM群聊消息如此复杂,如何保证不丢不重?
- 2025-03-23 关于用户访谈,你需要了解这4点(用户访谈的基本原则)
- 2025-03-23 电气自动化专业词汇中英文对照表(电气自动化常用英语)
- 2025-03-23 14天shell脚本入门学习-第十一天#用户和权限
- 2025-03-23 岂止于大,一文读懂大数据及其在推荐系统的应用
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)