我正在开发hadoopapache2.7.1,我有一个由3个节点组成的集群
nn1型
nn2型
dn1级
nn1是dfs.default.name,因此它是主节点名。
我已经安装了httpfs,并在重启所有服务之后启动了它。当nn1处于活动状态,nn2处于待机状态时,我可以发送此请求
http://nn1:14000/webhdfs/v1/aloosh/oula.txt?op=open&user.name=root
从我的浏览器和打开或保存此文件的对话框出现,但当我杀死在nn1上运行的名称节点并再次正常启动它时,由于高可用性nn1变为待机状态,nn2变为活动状态。
所以在这里httpfs应该可以工作,即使nn1变为备用,但是现在发送相同的请求
http://nn1:14000/webhdfs/v1/aloosh/oula.txt?op=open&user.name=root
给了我一个错误
{"RemoteException":{"message":"Operation category READ is not supported in state standby","exception":"RemoteException","javaClassName":"org.apache.hadoop.ipc.RemoteException"}}
httpfs不应该克服nn1待机状态并将文件带到服务器上吗?这是因为配置错误,还是有其他原因?
我的 core-site.xml
是
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
1条答案
按热度按时间cnh2zyt31#
看起来像
HttpFs
尚未意识到高可用性。这可能是由于缺少客户端与当前活动namenode连接所需的配置。确保
fs.defaultFS
中的属性core-site.xml
配置了正确的nameservice ID
.如果你有下面的
hdfs-site.xml
```dfs.nameservices
mycluster