如何授予用户通过 Kerberos 使用 Hadoop 的权限?

如何授予用户通过 Kerberos 使用 Hadoop 的权限?

我已经设置 Hadoop 使用 Kerberos(遵循Cloudera 安全指南),但不清楚如何以普通用户身份(例如username=myuser)连接到hadoop。

目前,我已经使用 Keberos 管理员用户 (通过kinit kerbadmin/admin) 通过 Kerberos 进行了身份验证,但这似乎没有帮助。我是否需要告诉 Hadoop,kerberos 用户“kerbadmin”可以使用 Hadoop?

运行类似操作hadoop fs -ls /会导致权限问题:

11/09/13 11:13:03 WARN ipc.Client: Exception encountered while connecting to the server : javax.security.sasl.SaslException: GSS initiate failed [Caused by GSSException: No valid credentials provided (Mechanism level: Failed to find any Kerberos tgt)]
Bad connection to FS. command aborted. exception: Call to <myservername>/127.0.1.1:54310 failed on local exception: java.io.IOException: javax.security.sasl.SaslException: GSS initiate failed [Caused by GSSException: No valid credentials provided (Mechanism level: Failed to find any Kerberos tgt)] 

另外,sudo -u hdfs hadoop fs -ls /返回相同的错误消息。

答案1

刚刚注意到Cloudera 安装指南中的附录指出 Kerberos 中有一个已知错误会导致此问题,因此修复方法是kinit -R在与服务器进行身份验证后运行

相关内容