hive打不开,提示节点过少,进入安全模式~~
前段时候给电及除尘,因为经常拆着玩,越熟练越容易大意,一下子把电源排线扯坏了。挼了挼,想凑和着用吧,没想到不知怎么的就会关机,太频繁了。一怒之下取出来剪了!!!
然后没得玩了。
去某宝买了个6P排线,2.5,邮费8块。安上发现没网,把路由拆了。一拆网就好,安上就残,重复50次后,把盖揭扔了,它就老实了。然后打开hive,困倦的我又来了精神,居然打不开了,提示节点数量达到下限,启用安全模式???
还让不让好好玩了?果断退出安全模式,再启动hive,问题解决了!
错误提示如下:
Exception in thread "main" java.lang.RuntimeException: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.hdfs.server.namenode.SafeModeException): Cannot create directory /tmp/hive/root/b8cf61ee-1127-4b11-878d-62becb3d8b37. Name node is in safe mode.
The reported blocks 56 needs additional 13 blocks to reach the threshold 0.9990 of total blocks 69.
The number of live datanodes 3 has reached the minimum number 0. Safe mode will be turned off automatically once the thresholds have been reached.at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkNameNodeSafeMode(FSNamesystem.java:1329)at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.mkdirs(FSNamesystem.java:3860)at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.mkdirs(NameNodeRpcServer.java:984)at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.mkdirs(ClientNamenodeProtocolServerSideTranslatorPB.java:634)at org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java)at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:616)at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:982)at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2217)at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2213)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:1746)at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2213)
退出安全模式命令:
hadoop dfsadmin -safemode leave退出后,一般还要执行健康检查,删除损坏掉的block,命令: hdfs fsck / -delete尽量弄清情况后看看需不需要删节点,先恢复虚拟机到正常状态,重启hadoop,再试。因为删节点必然导致数据丢失。
原因分析:
由于系统断电,内存不足等原因导致dataNode丢失超过设置的丢失百分比,系统自动进入安全模式。(我是因为虚拟机有两个挂了,知情前打开的hadoop)。
如果有更好的办法,万望交流补充,希望能帮到一起成长的朋友们!