4

我已经在我的集群上安装了 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"}}

提前致谢。

4

3 回答 3

2

您是否按照此处所述配置了 core-site.xml:http: //hadoop.apache.org/docs/current/hadoop-hdfs-httpfs/ServerSetup.html

#HTTPFSUSER# 是启动 httpfs 守护进程的用户在哪里?(大概是“ubantu”)?

完成此操作后,重新启动 HDFS 守护程序。

于 2013-03-22T15:41:14.087 回答
2

解决了这个问题,因为我还没有将我的用户 ubantu 添加到 hadoop 用户组中。将用户 ubantu 添加到 hadoop 组中,并将 core-site.xml 中的属性更新为

     <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>

现在它工作正常。

于 2013-03-26T15:10:52.947 回答
1

简单的谷歌搜索显示其他人有相同的错误,没有反弹服务器以获取配置更改。

https://groups.google.com/a/cloudera.org/forum/?fromgroups=#!topic/cdh-user/dSJP-a_Lcqo

于 2013-03-19T20:11:19.580 回答