我在我的群集上安装了hadoop 1.0.4,1个主服务器和3个服务器, 现在我正在安装HTTPFS(hadoop-hdfs-httpfs-0.20.2-cdh3u5-SNAPSHOT)以使用http协议访问HDFS内容,
我可以通过它访问正常页面
curl -i "http://myhost:14000"
它的工作正常:)
但是如果我试图访问HDFS然后它给我错误(ubantu是我的用户):(
curl -i "http://myhost:14000/webhdfs/v1?user.name=ubantu&op=OPEN"
错误:
{"RemoteException":{"message":"User: ubantu is not allowed to impersonate ubantu",
"exception":"RemoteException","javaClassName":"org.apache.hadoop.ipc.RemoteException"}}
提前致谢。
答案 0 :(得分:2)
您是否按照此处所述配置了core-site.xml:http://hadoop.apache.org/docs/current/hadoop-hdfs-httpfs/ServerSetup.html
其中#HTTPFSUSER#是启动httpfs守护程序的用户? (大概" ubantu")?
执行此操作后,重新启动HDFS守护程序。
答案 1 :(得分:2)
解决了这个问题,因为我没有将我的用户ubantu添加到hadoop用户组中。 将用户ubantu添加到hadoop组中 核心站点文件中的更新属性为
<property>
<name>hadoop.proxyuser.myhttpfsuser.hosts</name>
<value>httpfs-host.foo.com</value>
</property>
<property>
<name>hadoop.proxyuser.myhttpfsuser.groups</name>
<value>hadoop</value>
</property>
现在工作正常。
答案 2 :(得分:1)
简单的谷歌搜索显示其他人具有相同的错误,但没有退回服务器以获得配置更改。
https://groups.google.com/a/cloudera.org/forum/?fromgroups=#!topic/cdh-user/dSJP-a_Lcqo