我实在启动 Hive 时出现报错,显示 Hive 在 HDFS 上的存储路径处于安全模式下,无法打开(其他文件夹可打开),然后开了 hadoop 的日志文件(./logs/adoop-jinghang-namenode-hadoop01.log ),报错如下。
org.apache.hadoop.hdfs.server.protocol.DisallowedDatanodeException: Datanode denied communication with namenode because hostname cannot be resolved (ip=192.168.5.132, hostname=192.168.5.132): DatanodeRegistration(0.0.0.0:50010, datanodeUuid=75999653-6e6e-4d5b-915a-d80ca5319142, infoPort=50075, infoSecurePort=0, ipcPort=50020, storageInfo=lv=-56;cid=CID-744c867b-8983-4063-8eb4-75b895187999;nsid=1906047950;c=0)
at org.apache.hadoop.hdfs.server.blockmanagement.DatanodeManager.registerDatanode(DatanodeManager.java:863)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.registerDatanode(FSNamesystem.java:4528)
at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.registerDatanode(NameNodeRpcServer.java:1285)
at org.apache.hadoop.hdfs.protocolPB.DatanodeProtocolServerSideTranslatorPB.registerDatanode(DatanodeProtocolServerSideTranslatorPB.java:96)
at org.apache.hadoop.hdfs.protocol.proto.DatanodeProtocolProtos$DatanodeProtocolService$2.callBlockingMethod(DatanodeProtocolProtos.java:28752)
at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:616)
at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:969)
at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2049)
at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2045)
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:1657)
at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2043)
根本原因:
linux 下的磁盘太小,而传输的文件太大,导致磁盘爆掉,所以 hadoop 集群进入了安全模式。我是找到了下边超链接的笔者的文章才直到的,原来磁盘的大小对集群也有影响。
解决办法:
引用:点击跳转