Java HDFS客户端接收“;已是当前租赁持有人“;追加时出错

Java HDFS客户端接收“;已是当前租赁持有人“;追加时出错,hdfs,Hdfs,我正在尝试附加到HDFS文件。当我这样做时,我会得到错误: 2017-06-14 14:51:10,068 INFO [net.psgglobal.hdfs.videovault.videostorage.VideoDatedFile] (VideoDatedCacheWriter) Error appending image bytes 2568018 index bytes 360: Failed to APPEND_FILE /PSG/VideoVault/VideoStorage/VI

我正在尝试附加到HDFS文件。当我这样做时,我会得到错误:

2017-06-14 14:51:10,068 INFO  [net.psgglobal.hdfs.videovault.videostorage.VideoDatedFile] (VideoDatedCacheWriter) Error appending image bytes 2568018 index bytes 360: Failed to APPEND_FILE /PSG/VideoVault/VideoStorage/VICADS-0/108/20170614.img for DFSClient_NONMAPREDUCE_330993248_1145 on 192.168.3.214 because DFSClient_NONMAPREDUCE_330993248_1145 is already the current lease holder.
        at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.recoverLeaseInternal(FSNamesystem.java:3108)
        at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.appendFileInternal(FSNamesystem.java:2904)
        at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.appendFileInt(FSNamesystem.java:3211)
        at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.appendFile(FSNamesystem.java:3180)
        at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.append(NameNodeRpcServer.java:766)
        at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.append(ClientNamenodeProtocolServerSideTranslatorPB.java:432)
        at org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java)
        at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:640)
        at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:982)
        at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2351)
        at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2347)
        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:1866)
        at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2345)
既然我是租约持有人,有什么问题?我怎样才能解除租约?
David

您可以按如下方式释放文件上的租约:

hdfs debug recoverLease -path <path-of-the-file> [-retries <retry-times>]
hdfs debug recoverLease-path[-retries]