最近遇到这样的问题:
运行十几天的代码突然发生了连接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