Oozie/yarn:src 文件系统上的资源已更改

2023-11-21

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

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

在实验时,我手动复制了这个 jar 的新版本,现在我收到消息:

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)。

这2个数字是时间戳,expected一个确实是旧罐子的TS,在所有服务器上都相同,wasTS 是数据节点之一上新 jar 的时间戳(因为它们是scp循环播放,TS 略有不同)。

我的问题是:我如何告诉纱线停止抱怨并使用新的纱线?

一些注意事项:

  • Hortonworks 2.6,基于hadoop 2.7,
  • jar只被我放在本地FS上,而不是hdfs中,
  • 与 Spark 无关(我的问题在 Google 上经常出现与 Spark 相关的问题),
  • yarn.sharedcache.enabled is false(默认)所以yarn scmadmin -runCleanerTask与这里无关,
  • 我可以通过重用旧的 jar 来解决当前的问题,并且我可以确保所有 DN 都具有相同的 TS,但我想知道如何才能使用新版本(请注意,oozie 指向的 jar 是符号链接)当新版本发布时不必更新 oozie),
  • 我宁愿将文件保留在本地 FS 上,而不必将其放在 hdfs 上,
  • jar 名称非常具体,它不会与任何其他 jar 冲突,
  • 工作流程以用户身份运行yarn我在 hdfs 上的纱线用户目录中找不到我的 jar 的任何副本(在 oozie dir 下也找不到),
  • 我可以在yarn local dir /filecache下找到jar的副本,但它们的md5与我的任何(当前)版本都不匹配。

这是我的两分钱,你可以建造yarn自己相关jar并添加到你当前的工作环境中。

这可能是跳过这种“烦人的”条件检查的解决方法。

一般步骤如下:

1、获取你使用的yarn的源代码。您可以从 Hadoop 官方网站下载它。 2、搜索错误日志如changed on file system在 Hadoop 源代码中。 3、注释掉 4、重建Yarn相关jar 5、将其放入您的工作环境中。

您可以参考如何修复 src 文件系统问题上的资源更改更多细节。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Oozie/yarn:src 文件系统上的资源已更改 的相关文章

  • 公平调度器和容量调度器有什么区别?

    我是 Hadoop 世界的新手 想了解公平调度程序和容量调度程序之间的区别 另外我们什么时候应该使用每一个 请简单地回答一下 因为我在网上读了很多东西 但从中得到的不多 公平调度是一种为作业分配资源的方法 使得所有作业随着时间的推移平均获得
  • 如何强制 Spark 执行代码?

    我如何强制 Spark 执行对 map 的调用 即使它认为由于其惰性求值而不需要执行它 我试过把cache 与地图调用 但这仍然没有解决问题 我的地图方法实际上将结果上传到 HDFS 所以 它并非无用 但 Spark 认为它是无用的 简短回
  • 错误 hive.HiveConfig:无法加载 org.apache.hadoop.hive.conf.HiveConf。确保 HIVE_CONF _DIR 设置正确

    我正在尝试将数据从 sqoop 导入到 hive MySQL use sample create table forhive id int auto increment firstname varchar 36 lastname varch
  • 更改spark_temporary目录路径

    是否可以更改 temporarySpark在写入之前保存临时文件的目录 特别是 由于我正在编写表的单个分区 因此我希望临时文件夹位于分区文件夹内 是否可以 由于其实现原因 无法使用默认的 FileOutputCommiter FileOut
  • 如何用snappy解压hadoop的reduce输出文件尾?

    我们的 hadoop 集群使用 snappy 作为默认编解码器 Hadoop作业减少输出文件名就像part r 00000 snappy JSnappy 无法解压缩文件 bcz JSnappy 需要以 SNZ 开头的文件 归约输出文件以某种
  • 伪模式下没有名称节点错误

    我是hadoop新手 正处于学习阶段 根据 Hadoop Definitve 指南 我已将 hadoop 设置为伪分布式模式 一切正常 昨天我什至能够执行第三章中的所有示例 今天 当我重新启动我的unix并尝试运行start dfs sh然
  • Hadoop - 直接从 Mapper 写入 HBase

    我有一个 hadoop 作业 其输出应写入 HBase 我并不真正需要减速器 我想要插入的行类型是在映射器中确定的 如何使用 TableOutputFormat 来实现此目的 从所有示例中 我看到的假设是 reducer 是创建 Put 的
  • AWS EMR 引导操作为 sudo

    我需要更新 etc hosts适用于我的 EMR 集群 EMR AMI 4 3 中的所有实例 整个脚本无非就是 bin bash echo e ip1 uri1 gt gt etc hosts echo e ip2 uri2 gt gt e
  • Oozie shell 操作:exec 和文件标签

    我是 Oozie 的新手 我读过一些 Oozie shell 操作示例 但这让我对某些事情感到困惑 我见过一些例子 但没有
  • Hadoop fs 查找块大小?

    在 Hadoop fs 中如何查找特定文件的块大小 我主要对命令行感兴趣 例如 hadoop fs hdfs fs1 data 但看起来这并不存在 有Java解决方案吗 The fsck其他答案中的命令列出了块并允许您查看块的数量 但是 要
  • 如何在hadoop mapreduce/yarn中设置VCORES?

    以下是我的配置 mapred site xml map mb 4096 opts Xmx3072m reduce mb 8192 opts Xmx6144m yarn site xml resource memory mb 40GB min
  • 使用 HttpClient 的 .NET Core SPNEGO 身份验证

    我目前正在编写一个简单的基于 NET Core 的客户端 用于通过 WebHCat 与 Hadoop 集群进行交互 并且我正在尝试弄清楚如何使用 SPNEGO 进行身份验证 就像在curl 或 Powershell Core 等中一样 使用
  • org.apache.hadoop.security.AccessControlException:客户端无法通过以下方式进行身份验证:[TOKEN,KERBEROS] 问题

    我正在使用 java 客户端通过 Kerberos 身份验证安全访问 HDFS 我尝试打字klist在服务器上 它显示已经存在的有效票证 我收到的异常是客户端无法通过以下方式进行身份验证 TOKEN KERBEROS 帮助将不胜感激 这是一
  • 关于 Hadoop 和压缩输入文件的非常基本的问题

    我已经开始研究 Hadoop 如果我的理解是正确的 我可以处理一个非常大的文件 它会被分割到不同的节点上 但是如果文件被压缩 那么文件就无法分割 并且需要由单个节点处理 有效地破坏了运行一个mapreduce 一个并行机器集群 我的问题是
  • 像袋子一样压平元组

    我的数据集如下所示 A 1 2 B 2 9 我想 展平 Pig 中的元组 基本上为内部元组中找到的每个值重复每个记录 这样预期的输出是 A 1 A 2 B 2 B 9 我知道当元组 1 2 和 2 9 是袋时这是可能的 你的洞察力很好 可以
  • 如何在 HBase 中预分割表

    我将数据存储在具有 5 个区域服务器的 HBase 中 我使用 url 的 md5 哈希作为我的行键 目前 所有数据仅存储在一台区域服务器中 所以我想预先分割区域 以便数据在所有区域服务器上统一传输 我希望通过行键的第一个字符将表分成五个区
  • 名称节点与辅助名称节点

    Hadoop 具有一致性和分区容忍性 即它属于 CAP 理论的 CP 类别 Hadoop不可用 因为所有节点都依赖于名称节点 如果名称节点崩溃 集群就会崩溃 但考虑到 HDFS 集群有一个辅助名称节点 为什么我们不能称 hadoop 为可用
  • Hadoop2.2.0无法访问网页http://:8088

    我设置了一个包含两个节点 hadoop01 master 10 0 0 151 和 hadoop02 slaves 10 0 0 152 的 hadoop 集群 当输入 start dfs sh 然后访问网站 my ip 上面就是 10 0
  • Hive 中的 CASE 语句

    好的 我有以下代码来用二进制标志标记表中具有最高 Month cd 的记录 Select t1 month cd t2 max month cd CASE WHEN t2 max month cd null then 0 else 1 en
  • HBase中删除多行的有效方法

    有没有一种有效的方法可以删除 HBase 中的多行 或者我的用例是否不适合 HBase 有一个表称为 图表 其中包含图表中的项目 行键的格式如下 chart date reversed ranked attribute value reve

随机推荐