Security
如何授予使用者通過 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 /
返回相同的錯誤消息。
剛剛注意到Cloudera 的設置指南中的一個附錄,指出 Kerberos 存在一個已知錯誤導致此問題,因此修復是
kinit -R
在與伺服器進行身份驗證後執行