我将 Scala / Spark jar 上传到 HDFS 以在我们的集群上测试它们。跑步后,我经常意识到需要做出改变。因此,我在本地进行更改,然后将新 jar 推送回 HDFS。然而,经常(并非总是)当我这样做时,hadoop 会抛出一个错误,本质上是说这个 jar 与旧的 jar 不一样(废话)。
我尝试清除垃圾箱、.staging 和 .sparkstaging 目录,但这没有任何作用。我尝试重命名罐子,这有时会起作用,有时则不起作用(我首先必须这样做仍然很荒谬)。
有谁知道为什么会发生这种情况以及如何防止它发生?谢谢你的帮助。如果有帮助的话,这里是一些日志(编辑掉一些路径):
应用程序application_1475165877428_124781由于AM失败了2次
appattempt_1475165877428_124781_000002 的容器已退出
exitCode: -1000 有关更详细的输出,请检查应用程序跟踪
页:http://examplelogsite/ http://examplelogsite/然后,单击每个日志的链接
试图。诊断:资源 MYJARPATH/EXAMPLE.jar 在 src 上已更改
文件系统(预期为 1475433291946,实际为 1475433292850
java.io.IOException:资源 MYJARPATH/EXAMPLE.jar 在 src 上更改
文件系统(预期为 1475433291946,实际为 1475433292850
org.apache.hadoop.yarn.util.FSDownload.copy(FSDownload.java:253) 在
org.apache.hadoop.yarn.util.FSDownload.access$000(FSDownload.java:61)
在 org.apache.hadoop.yarn.util.FSDownload$2.run(FSDownload.java:359)
在 org.apache.hadoop.yarn.util.FSDownload$2.run(FSDownload.java:357)
在 java.security.AccessController.doPrivileged(本机方法)处
javax.security.auth.Subject.doAs(Subject.java:422) 在
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1693)
在 org.apache.hadoop.yarn.util.FSDownload.call(FSDownload.java:356) 处
org.apache.hadoop.yarn.util.FSDownload.call(FSDownload.java:60) 在
java.util.concurrent.FutureTask.run(FutureTask.java:266) 在
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
在 java.util.concurrent.FutureTask.run(FutureTask.java:266) 处
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
在
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
在 java.lang.Thread.run(Thread.java:745) 这次尝试失败。失败
应用程序。
我以前没有见过退出代码,所以me,它没有说什么,我建议你检查日志,如下所示:
yarn logs -applicationId <your_application_ID>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)