1.No lease on file (inode 5425306): File does not exist. [Lease. Holder: DFSClient_NONMAPREDUCE_-247167534_42, pendingcreates: 1]
org.apache.hadoop.ipc.RemoteException: No lease on /user/test/xxx/ccc/bbb/value_fct_archive.csv (inode 5425306): File does not exist. [Lease. Holder: DFSClient_NONMAPREDUCE_-247167534_42, pendingcreates: 1]
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkLease(FSNamesystem.java:3521)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.analyzeFileState(FSNamesystem.java:3324)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getNewBlockTargets(FSNamesystem.java:3162)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:3122)
at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.addBlock(NameNodeRpcServer.java:843)
at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.addBlock(ClientNamenodeProtocolServerSideTranslatorPB.java:500)
两个解决方案:
解决方案1:如果您的案例是多个线程,那么将'overwrite'标志设置为false将解决问题。
解决方案2:如果您的案例不是在多个线程中创建文件,请检查其他客户端是否正在删除文件/父目录。
如果在创建文件时将overwrite标志设置为true,则可能是多线程尝试写入同一文件的问题
如果第一个线程创建的文件被第二个线程覆盖,那么第一个线程将遇到上述异常。
我遇到的是第二种情况,在集群正常工作过程中,我将其openwrite的文件删除掉,就出现了该问题,目前通过修改代码解决。
2.org.apache.hadoop.hbase.exceptions.RegionOpeningException: Region XXX
org.apache.hadoop.hbase.exceptions.RegionOpeningException: Region STOCKDIARY_INDEX_2