HDFS檢視異常:Operation category READ is not supported in state standby. Visit
阿新 • • 發佈:2018-11-21
跨叢集訪問hdfs失敗
$ hdfs dfs -ls hdfs://test:8020/hbase
ls: Operation category READ is not supported in state standby. Visit https://s.apache.org/sbnn-error
意思是namenode不可用,檢視namenode狀態
hdfs-site.xml <property> <name>dfs.ha.namenodes.nameservice1</name> <value>namenode223,namenode47</value> </property>
使用命令檢視namenode狀態,發現主NameNode是在執行的。
$hdfs haadmin -getServiceState namenode223
active
此時如果檢視namenode是standby模式可以使用以下命令前置切換主備
hdfs haadmin -transitionToActive --forcemanual namenode47
找了半天才發現test:8020是之前的namenode,後來NameNode被我遷移了,換成test2:8020,ok。
總結幾個命令,日常維護時使用:
#切換NameNode(強制切換主備),前提是目前在用的NameNode是standby狀態,否則失敗 hdfs haadmin -transitionToActive --forcemanual namenode47 #檢視NameNode執行狀態 hdfs haadmin -getServiceState namenode223 更多檢視 $ hdfs haadmin -help Usage: DFSHAAdmin [-ns <nameserviceId>] [-transitionToActive <serviceId> [--forceactive]] [-transitionToStandby <serviceId>] [-failover [--forcefence] [--forceactive] <serviceId> <serviceId>] [-getServiceState <serviceId>] [-checkHealth <serviceId>] [-help <command>] Generic options supported are -conf <configuration file> specify an application configuration file -D <property=value> use value for given property -fs <local|namenode:port> specify a namenode -jt <local|resourcemanager:port> specify a ResourceManager -files <comma separated list of files> specify comma separated files to be copied to the map reduce cluster -libjars <comma separated list of jars> specify comma separated jar files to include in the classpath. -archives <comma separated list of archives> specify comma separated archives to be unarchived on the compute machines. The general command line syntax is bin/hadoop command [genericOptions] [commandOptions]