Oozie/yarn:src文件系统上的资源已更改 [英] Oozie/yarn: resource changed on src filesystem

查看:451
本文介绍了Oozie/yarn:src文件系统上的资源已更改的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个Oozie工作流程,其步骤之一是java步骤,运行存储在本地文件系统上的jar(该jar存在于所有节点上).

I have an Oozie workflow, with one of its step being a java step, running a jar stored on the local filesystem (the jar is present on all nodes).

最初,jar是通过RPM安装的,因此它们都具有相同的时间戳.

Initially, the jar was installed via a RPM, so they all have the same timestamp.

在进行试验时,我在此jar上手动复制了一个新版本,现在我收到消息:

While experimenting, I manually copied a new version over this jar, and I now get the message:

org.apache.oozie.action.ActionExecutorException: JA009: org.apache.hadoop.yarn.exceptions.YarnException: Failed to submit application_1516602562532_15451 to YARN : Application application_1516602562532_15451 failed 2 times due to AM Container for appattempt_1516602562532_15451_000002 exited with  exitCode: -1000
For more detailed output, check the application tracking page: http://ip-10-0-0-239.eu-west-1.compute.internal:8088/cluster/app/application_1516602562532_15451 Then click on links to logs of each attempt.
Diagnostics: java.io.IOException: Resource file:/opt/tst/tst.jar changed on src filesystem (expected 1516886392000, was 1516891496000
Failing this attempt. Failing the application.

主线是:

资源文件:/opt/tst/tst.jar在src文件系统上已更改(预期为1516886392000,为151689149600).

Resource file:/opt/tst/tst.jar changed on src filesystem (expected 1516886392000, was 151689149600).

2个数字是时间戳,expected一个确实是旧jar的TS,在所有服务器上都是相同的,was TS是新的jar在一个数据节点上的时间戳(因为它们是scp循环执行,则TS略有不同).

The 2 numbers are timestamp, the expected one is indeed the TS of the old jar, identical on all servers, the was TS is the timestamp of the new jar on one of the datanodes (as they were scp'ed in a loop, the TS are slightly different).

我的问题是:如何告诉纱线停止鸣叫并已经使用新的呢?

My question is: how do I tell yarn to stop whinging and use the new one already?

一些注意事项:

  • 基于hadoop 2.7的Hortonworks 2.6,
  • 该jar仅由我放置在本地FS上,而不是在hdfs中放置,
  • 与Spark无关(我的问题在Google上引起了很多与Spark相关的问题)
  • yarn.sharedcache.enabledfalse(默认值),所以yarn scmadmin -runCleanerTask在这里与之无关,
  • 我可以通过重用旧的jar来解决当前问题,并且可以确保所有DN都具有相同的TS,但是我不知道我将如何使用新版本(请注意,oozie指向的jar是一个符号链接,不必在发布新版本时更新oozie),
  • 我宁愿将文件保留在本地FS上,而不必将其放在hdfs上,
  • 罐子名称非常具体,与其他任何罐子都不冲突,
  • 工作流以用户yarn的身份运行,我无法在hdfs上的yarn用户目录中找到我的jar的任何副本(对此也没有在oozie dir下),
  • 我可以在yarn本地目录/filecache下找到jar的副本,但是它们的md5与我的任何(当前)版本都不匹配.
  • Hortonworks 2.6, based on hadoop 2.7,
  • the jar is only put by me on the local FS, not in hdfs,
  • nothing to do with spark (my issue comes up a lot on google related to spark),
  • yarn.sharedcache.enabled is false (the default) so yarn scmadmin -runCleanerTask is not relevant here,
  • I could fix my current problem by just reusing the old jar and I could make sure that all DNs have the same TS, but I wonder how I would ever be able to use a new version (note that the jar pointed by oozie is a symlink to not have to update oozie when a new version is released),
  • I'd rather keep the file on the local FS instead of having to put it on hdfs,
  • the jar name is quite specific, it does no clash with any other jar,
  • the workflow runs as user yarn and I can't find any copy of my jar in the yarn user directory on hdfs (nor under oozie dir for that matter),
  • I can find copies of the jar under the yarn local dir /filecache, but their md5 do not match any of my (current) versions.

推荐答案

在遇到输出文件夹的情况下,我遇到了相同的错误. (在Oozie工作流程中运行Pig脚本时,( src文件系统上的资源路径/到/输出/文件夹已更改(预期1583243472154,为1583243577395)).

I encountered the same error, in my case with an output folder. (Resource path/to/output/folder changed on src filesystem (expected 1583243472154, was 1583243577395)) when running a Pig script in a Oozie workflow.

删除 .staging 文件夹解决了我的问题.

Removing the .staging folder fixed my problem.

这篇关于Oozie/yarn:src文件系统上的资源已更改的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆