亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何修復 src 文件系統問題上的資源更改

如何修復 src 文件系統問題上的資源更改

MM們 2023-10-12 17:10:42
我嘗試Hive在 MR 執行中使用SQL,但它中途失敗,錯誤如下:Application?application_1570514228864_0001?failed?2?times?due?to?AM?Container?for?appattempt_1570514228864_0001_000002?exited?with?exitCode:?-1000 Failing?this?attempt.Diagnostics:?[2019-10-08?13:57:49.272]Failed?to?download?resource?{?{?s3a://tpcds/tmp/hadoop-yarn/staging/root/.staging/job_1570514228864_0001/libjars,?1570514262820,?FILE,?null?},pending,[(container_1570514228864_0001_02_000001)],1132444167207544,DOWNLOADING}?java.io.IOException:?Resource?s3a://tpcds/tmp/hadoop-yarn/staging/root/.staging/job_1570514228864_0001/libjars?changed?on?src?filesystem?(expected?1570514262820,?was?1570514269265從我的角度來看,錯誤日志中的關鍵消息是libjars changed on src filesystem (expected 1570514262820, was 1570514269265。SO 有幾個關于此問題的線程,但尚未得到答復,例如thread1和thread2。我從apache jira和redhat bugzilla中發現了一些有價值的東西。NTP我通過所有相關節點同步時鐘。但同樣的問題仍然存在。歡迎任何評論,謝謝。
查看完整描述

3 回答

?
慕尼黑5688855

TA貢獻1848條經驗 獲得超2個贊

我仍然不知道為什么資源文件的時間戳不一致,并且沒有辦法通過配置方式修復它,AFAIK。


但是,我設法找到了解決方法來跳過該問題。讓我在這里為可能遇到同樣問題的人總結一下。


通過檢查錯誤日志并在源代碼中搜索Hadoop,我們可以在hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/FSDownload.java.


只需刪除異常拋出語句,


  private void verifyAndCopy(Path destination)

      throws IOException, YarnException {

    final Path sCopy;

    try {

      sCopy = resource.getResource().toPath();

    } catch (URISyntaxException e) {

      throw new IOException("Invalid resource", e);

    }

    FileSystem sourceFs = sCopy.getFileSystem(conf);

    FileStatus sStat = sourceFs.getFileStatus(sCopy);

    if (sStat.getModificationTime() != resource.getTimestamp()) {

            /**

      throw new IOException("Resource " + sCopy +

          " changed on src filesystem (expected " + resource.getTimestamp() +

          ", was " + sStat.getModificationTime());

          **/

            LOG.debug("[Gearon][Info] The timestamp is not consistent among resource files.\n" +

                            "Stop throwing exception . It doesn't affect other modules. ");

    }

    if (resource.getVisibility() == LocalResourceVisibility.PUBLIC) {

      if (!isPublic(sourceFs, sCopy, sStat, statCache)) {

        throw new IOException("Resource " + sCopy +

            " is not publicly accessible and as such cannot be part of the" +

            " public cache.");

      }

    }


    downloadAndUnpack(sCopy, destination);

  }

構建hadoop-yarn-project并復制“hadoop-yarn-common-xxxjar to$HADOOP_HOME/share/hadoop/yarn”。


將此線程留在這里,并感謝您對如何在不更改hadoop源代碼的情況下修復它的任何進一步解釋。


查看完整回答
反對 回復 2023-10-12
?
慕慕森

TA貢獻1856條經驗 獲得超17個贊

我必須做同樣的事情,這應該是可配置的,即使很小的延遲也會導致執行失敗,如果將hadoop文件系統更改為使用s3并運行MR程序,則可能會發生這種情況,注意*請確保,您使用的是相同的jdk version 來生成 jar,如 apache hadoop 文檔中所述,適用于您的 hadoop 版本,否則您可能會遇到錯誤。



查看完整回答
反對 回復 2023-10-12
?
搖曳的薔薇

TA貢獻1793條經驗 獲得超6個贊

實際上,您只需手動將日期設置回之前的值即可解決此問題。例如,使用帶有或選項的touch命令:-t STAMP-d DATE

sudo?touch?-d?'07?Apr?2022?11:12:30.000?+0000'?'<path_to_file>'


查看完整回答
反對 回復 2023-10-12
  • 3 回答
  • 0 關注
  • 190 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號