Hadoop-Operation category READ is not supported in state standby 故障解决

发布时间 2023-10-13 15:03:06作者: 业余砖家

在查询hdfs时或者执行程序向hdfs写入数据时遇到报错:Operation category READ is not supported in state standby 

意思是:该主机状态为待机,不支持操作类别READ.

你会发现最基本的hdfs命令都不能执行,例如:hadoop fs -ls /

自定义的是nn1还是namenode1等自定义名可以在配置文件hdfs-site.xml中查看:

    <property>
        <name>dfs.ha.namenodes.mycluster</name>
        <value>nn1,nn2</value>
        <description>unique identifiers for each NameNode in the nameservice</description>
    </property>

首先查看namenode的状态:

hdfs haadmin -getServiceState nn1(或namenode1)

 返回结果是standby

再查看副节点状态:

hdfs haadmin -getServiceState nn2(或namenode2)

 返回也是standby。

强制性把nn1状态置为active:

hdfs haadmin -transitionToActive --forcemanual nn1(或namenode1)

如果nn1的状态为standby,nn2的状态为active。

可以到nn2的服务器上执行:

 hadoop-daemon.sh stop zkfc 
 hadoop-daemon.sh start zkfc

成功的标志,可以查看nn1和nn2的状态。

或者hadoop fs -ls / 命令看看是否可以正常执行。

备注:

当然,也可以强制性把nn2状态置为standby:

hdfs haadmin -transitionToStandby --forcemanual nn2(或namenode2)