使用kerberos配置Hadoop CDH4.1.2的问题

时间:2013-01-28 17:08:59

标签: hadoop kerberos

我的datanode日志文件:

*2013-01-28 22:12:05,084 WARN org.apache.hadoop.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)] 2013-01-28 22:12:05,084 ERROR org.apache.hadoop.security.UserGroupInformation: PriviledgedActionException as:dr.who (auth:KERBEROS_SSL) cause: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)]*

我已经开始使用kerberos安装hadoop CDH4.1.2,并且datanode作为安全进程启动。

根据https://ccp.cloudera.com/display/CDH4DOC/Configuring+Hadoop+Security+in+CDH4 https://ccp.cloudera.com/display/CDH4DOC/Appendix+A+-+Troubleshooting#AppendixA-Troubleshooting-Problem2

以上链接我了解到hadoop命令行无法获取kerberos票证的凭据,因此建议使用解决方法来续订票证。是的,解决方法解决了命令行问题,我可以访问HDFS。

但是从Namenode UI,我无法查看日志,它显示HTTP 401 ERROR。 **User dr.who is unauthorized to access this page.**

有没有人遇到过这个问题?

提前致谢

2 个答案:

答案 0 :(得分:1)

将以下内容添加到hdfs-sit.xml

<property>
<name>dfs.web.ugi</name>
<value>hdfs</value>
</property>

将以下内容添加到core-site.xml

<property>
<name>hadoop.http.staticuser.user</name>
<value>mapred</value>
</property>

重新启动NameNode并检查,祝你好运。

答案 1 :(得分:0)

您需要设置Web UI来处理kerberos。

http://hadoop.apache.org/docs/stable/HttpAuthentication.html

“dr.who”引用似乎是default for hadoop.http.staticuser.user