Kerberos异常之unnable to obtain password from user

unnable obtain password from user

问题描述

在大数据集群开启kerberos认证后,使用kerberos票据进行kinit认证通过。但是集群运行yarn任务时报错:

javax.security.auth.login.LoginException: Unable to obtain password from user

产生原因

在kerberos认证的集群下,该问题会经常遇到。其实很简单,是因为使用生成kerberos票据时的linux用户与集群组件匹配不当造成的。比如说:我需要验证集群Hive组件,但是我在生成keytab文件时,是使用的root用户,生成的keytab文件也是root用户及root用户组。和集群hive用户hadoop用户组不同。因此不能访问。

解决方案

两个方案:

其一,把生成的keytab文件权限改大。

chmod 777 ***.keytab

这样,无论是hive组件,还是spark组件都可以访问了。

其二,把文件的属组改了。

chown hive:hadoop ***.keytab

把文件由root:root用户组改为hive:hadoop用户组。这样就可以供Hive访问了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值