栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

KrbException: Clock skew too great (37) - PREAUTH

KrbException: Clock skew too great (37) - PREAUTH

最近遇到这样的问题:
运行十几天的代码突然发生了连接hadoop时kerberos认证不了的问题,仔细分析日志,发现在LoginException下方有这样一句话:

Caused by: sun.security.krb5.KrbException: Clock skew too great (37) - PREAUTH_FAILED
原因:

k8s服务器和hadoop服务器时间相差过大,导致kerberos认证失败。

解决方法:
  • 查看系统时间:
    date “+%Y-%m-%d %H:%M:%S”
  • 更改系统时间:
    date -s “2021-12-29 15:06:22”
  • 强制将时间写入COMS:
    clock -w
    或者把系统时间同步到硬件BIOS:
    hwclock --systohc
批量更新集群服务器时间:

由于是器群部署,我登录了四个节点,在每个服务器上都操作了一遍,但一圈回来后再查看系统时间,发现全都没生效。
原因:集群服务器里有时钟同步的功能,我更改某个节点后,服务器使用另一个的时钟源时候,自己修正了。
解决办法:xshell等工具都可以同时向多个会话框发送命令:
首先在xshell里登录多个节点(我们使用的k8s是四个节点的,所以我打开了四个会话)
点击‘查看’->‘撰写’->‘撰写栏’

撰写栏显示在页面左下角,然后调整为“全部会话”

最后写好要执行的语句,回车后,所有tab签里的服务器节点上都会执行这个语句:

除了上述方法外还有别的,大家自行研究,多多分享哈!

结语

干完这个操作后,我再次重启服务,就没有报认证失败的问题了。但是,机器越老,和其他服务器不一致的概率越高,也就是它走得比别人快/慢一丢丢。
另,今天发生的问题是hadoop集群的时钟慢了,但是由于该平台是个公用的,我们没法改,就只能委曲求全改自己服务器的时钟的,匹配上即可。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/690033.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号