kerberos 认证 Unable to obtain password from user 异常排查
·
生产环境突然遇到kerberos 认证异常,java应用连接hive之前的认证异常
报Unable to obtain password from user
很常见的报错异常
一、排查证书
最开始怀疑证书的问题,对kerberos认证理解不深入,猜想大概证书异常
从服务器导出了新的证书,仍然不行,机器上没安装kerberos 客户端,所以证书导入其他有Hadoop的客户端的机器,验证了新证书没有问题
二、怀疑java应用的程序
因为是正常运行的时候突然不行了,不大可能是java 程序的问题,为了验证 特地写了一个demo 应用 部署了一下,发现仍然不行,这时候有点挑战了,
证书没问题,难道程序突然不行了
三、服务器环境排查
生产环境使用了华为的服务器,开始怀疑服务器环境导致,把验证程序部署到了通用服务器,结果验证通过,完全没有问题
定位到了服务器环境,又把验证程序部署到了另一台 华为服务器,验证了一下,发现可以,接下来对比两台服务器的差异
对比了基础配置,对齐了证书,用户
结果还是有一台验证不通过
这时候 想起来前一天 出问题的机器升级了jdk
难道jdk 会影响kerberos 认证过程。
网上搜索资料,发现部分资料提到jdk 版本会导致kerberos 认证异常
准备回退jdk,回退之后 发现认证成功
由于报错信息不明确,导致全程靠猜想
结论
当你遇到Unable to obtain password from user
时,写一个java demo 去不同环境测试 ,当确认证书没有问题,程序没有问题的时候,看看服务器环境jdk 版本。
更多推荐
所有评论(0)