gpt4 book ai didi

hadoop - httpfs error Operation category READ is not supported in state standby 状态备用

转载 作者:可可西里 更新时间:2023-11-01 14:16:27 30 4
gpt4 key购买 nike

我正在使用 hadoop apache 2.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>

最佳答案

看起来 HttpFs 还没有高可用性感知。这可能是由于缺少客户端连接到当前事件名称节点所需的配置。

确保 core-site.xml 中的 fs.defaultFS 属性配置了正确的 nameservice ID

如果您在 hdfs-site.xml

中有以下内容
<property>
<name>dfs.nameservices</name>
<value>mycluster</value>
</property>

那么在core-site.xml中,应该是

<property>
<name>fs.defaultFS</name>
<value>hdfs://mycluster</value>
</property>

还要配置 Java 类的名称,DFS 客户端将使用该名称来确定哪个 NameNode 当前处于事件状态并正在为客户端请求提供服务。

将此属性添加到 hdfs-site.xml

<property>
<name>dfs.client.failover.proxy.provider.mycluster</name>
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property>

在所有节点中添加属性后重启Namenodes和HttpFs。

关于hadoop - httpfs error Operation category READ is not supported in state standby 状态备用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43340226/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com