首先推一个很全面的博文
https://blog.csdn.net/m0_67391120/article/details/123935643
查看hdfs文件时报错
hadoop fs -cat /home/de_ipl/test.csv
22/04/11 10:58:07 INFO retry.RetryInvocationHandler: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.ipc.RetriableException): org.apache.hadoop.hdfs.server.namenode.SafeModeException: Zero blocklocations for /home/de_ipl/test.csv. Name node is in safe mode.
The reported blocks 98707284 needs additional 77862127 blocks to reach the threshold 0.9900 of total blocks 178352939.
The number of live datanodes 150 has reached the minimum number 0. Safe mode will be turned off automatically once the thresholds have been reached. NamenodeHostName:nnn02.bj2.sdbmcc.com
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getBlockLocations(FSNamesystem.java:1941)
at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.getBlockLocations(NameNodeRpcServer.java:738)
at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.getBlockLocations(ClientNamenodeProtocolServerSideTranslatorPB.java:426)
at org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java)
at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:524)
at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:1025)
at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:876)
at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:822)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:422)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1730)
at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2682)
Caused by: org.apache.hadoop.hdfs.server.namenode.SafeModeException: Zero blocklocations for /home/de_ipl/test.csv. Name node is in safe mode.
如上,因为进入了安全模式,所以查看文件时报错了
退出安全模式
hdfs dfsadmin -safemode leave
然而实际生产环境中,只是使用集群,维护和操作集群并不是咱们的事儿,报错了。。。
safemode: Call From ccb.bj2.sdbmcc.com/10.4.140.89 to nnn01.bj2.sdbmcc.com:8020 failed on connection exception: java.net.ConnectException: Connection refused; For more details see: http://wiki.apache.org/hadoop/ConnectionRefused
结果就是人家重启主节点,所以进入了安全模式,等个几分钟就好了,乌鱼子。
进入安全模式命令
hdfs dfsadmin -safemode enter