Security

如何授予使用者通過 Kerberos 使用 Hadoop 的權限?

  • September 13, 2011

我已經將 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 /返回相同的錯誤消息。

剛剛注意到Cloudera 的設置指南中的一個附錄,指出 Kerberos 存在一個已知錯誤導致此問題,因此修復是kinit -R在與伺服器進行身份驗證後執行

引用自:https://serverfault.com/questions/310925