首页 > 解决方案 > 纱线上的 Spark 提交失败:LeaseExpiredException No Lease on /user/ck/.sparkStaging 没有打开的文件

问题描述

我正在使用 spark-submit 在 Yarn 上启动一个 spark 应用程序。对于用于启动 spark 应用程序的 keytab,它使用下面的 stack trace 失败,并出现了 leaseExpiredException。集群启用了 Kerberos 和 Wandisco。关于可能导致这种情况的任何想法?在wandisco 中禁用了所有隐藏文件夹的复制。因此,/user/ck/.sparkStaging 在 wandisco 中没有启用复制。


线程“主”中的异常 19/02/27 11:20:32 错误 hdfs.DFSClient: 无法关闭 inode 1499015670 org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.hdfs.server.namenode.LeaseExpiredException) :/user/ck/.sparkStaging/application_1551278166756_0297/abc.keytab(inode 1499015670)上没有租约:文件不存在。持有人 DFSClient_NONMAPREDUCE_-1650244877_1 没有任何打开的文件。在 org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkLease(FSNamesystem.java:3521) 在 org.apache.hadoop.hdfs.server.namenode.FSNamesystem.completeFileInternal(FSNamesystem.java:3611) 在 org.apache .hadoop.hdfs.server.namenode.FSNamesystem.completeFile(FSNamesystem.java:3578) 在 org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.complete(NameNodeRpcServer.java:905) 在 org.apache.hadoop.hdfs .protocolPB。

at org.apache.hadoop.ipc.Client.call(Client.java:1475)
at org.apache.hadoop.ipc.Client.call(Client.java:1412)
at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:229)
at com.sun.proxy.$Proxy13.complete(Unknown Source)
at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.complete(ClientNamenodeProtocolTranslatorPB.java:462)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:191)
at org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:102)
at com.sun.proxy.$Proxy14.complete(Unknown Source)
at org.apache.hadoop.hdfs.DFSOutputStream.completeFile(DFSOutputStream.java:2291)
at org.apache.hadoop.hdfs.DFSOutputStream.closeImpl(DFSOutputStream.java:2267)
at org.apache.hadoop.hdfs.DFSOutputStream.close(DFSOutputStream.java:2232)
at org.apache.hadoop.hdfs.DFSClient.closeAllFilesBeingWritten(DFSClient.java:937)
at org.apache.hadoop.hdfs.DFSClient.closeOutputStreams(DFSClient.java:969)
at org.apache.hadoop.hdfs.DistributedFileSystem.close(DistributedFileSystem.java:1076)
at com.wandisco.fs.client.FusionCommon.close(FusionCommon.java:277)
at com.wandisco.fs.client.ReplicatedFC.destroy(ReplicatedFC.java:1036)
at com.wandisco.fs.client.ReplicatedFC.removeReference(ReplicatedFC.java:1005)
at com.wandisco.fs.client.ReplicatedFC.close(ReplicatedFC.java:489)
at com.wandisco.fs.client.FusionHdfs.closeFc(FusionHdfs.java:114)
at com.wandisco.fs.client.FusionHdfs.close(FusionHdfs.java:108)
at org.apache.hadoop.fs.FileSystem$Cache.closeAll(FileSystem.java:2760)
at org.apache.hadoop.fs.FileSystem$Cache$ClientFinalizer.run(FileSystem.java:2777)
at org.apache.hadoop.util.ShutdownHookManager$1.run(ShutdownHookManager.java:54)

标签: hadoop2spark-submitwandisco

解决方案


推荐阅读