配置 oozie 以使用 hadoop-2.6.0 并启用 kerberos 安全性。
我没有使用 kinit 命令获得票证,但是当我使用以下命令提交作业时,
oozie job -oozie http://hostname:11000/oozie -config job.properties -run
它抛出以下异常,
Error: E0501 : E0501: Could not perform authorization operation, User: oozie/hostname@EXAMPLE.COM is not allowed to impersonate Kumar
我知道如何解决上述错误,但我的问题是
Kumar 是我的本地帐户用户名。当我配置 kerberos 时,它应该检查我的用户票证。但它没有向我显示任何错误,例如“未找到凭据”
如果我使用 kinit 为任何其他用户获取票证,那么 oozie 也会显示与我的本地用户帐户名相同的异常。
有什么要配置的吗?我不明白这个概念。我正在关注 this在安全集群上使用 kerberos 配置 oozie。
最佳答案
我刚刚在 Oozie Authentication 中找到了答案
一旦身份验证成功执行,收到的身份验证 token 将缓存在用户主目录中的 .oozie-auth-token 文件中,具有所有者权限。后续请求在有效时重用缓存的 token 。
这就是使用无效用户甚至使用 kinit 命令为任何其他用户获取票证的原因。
我刚刚解决如下
可以通过使用 -Doozie.auth.token.cache false= 选项调用 oozie CLI 来禁用缓存文件的使用
。
试试这个。
关于hadoop - 安全模式下的 Oozie 无效用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31071805/