복붙노트

[HADOOP] SRC 파일 시스템 문제에 대한 변경 리소스를 수정하는 방법

HADOOP

SRC 파일 시스템 문제에 대한 변경 리소스를 수정하는 방법

나는 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가, 1570514262820 예상 SRC 파일 시스템 (에 변화가 SO 아니라에서이 문제에 대한 여러 스레드가 thread1과 thread2처럼, 아직 답을 1570514269265.했다입니다.

나는 아파치 JIRA와 레드햇 버그질라에서 가치있는 무언가를 발견했다. 나는 관련 모든 노드를 통해 NTP에 의해 시계를 동기화. 그러나 같은 문제가 아직도있다.

모든 의견은 들으을 환영합니다.

해결법

  1. ==============================

    1.AFAIK, 리소스 파일의 타임 스탬프가 일관성 및 구성 방법으로 문제를 해결할 수있는 방법이없는 난 아직도 왜 몰랐습니다.

    AFAIK, 리소스 파일의 타임 스탬프가 일관성 및 구성 방법으로 문제를 해결할 수있는 방법이없는 난 아직도 왜 몰랐습니다.

    그러나, 나는이 문제를 건너 뛸 수있는 해결 방법을 찾을 수 있었다. 저 같은 문제로 실행될 수 있습니다 누군가를 위해 여기를 요약 해 보자.

    오류 로그를 확인하고 하둡 소스 코드를 검색함으로써, 우리는 하둡 - 원사 - 프로젝트 / 하둡-실에서 문제를 추적 할 수 있습니다 / 하둡 - 원사 - 일반 / SRC / 메인 / 자바 / 조직 / 아파치 / 하둡 / 실 / 폴더의 유틸리티 / 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);
      }
    

    하둡 - 원사 - 프로젝트 및 복사 '하둡 - 원사 - 공통 x.x.x.jarto의 $의 HADOOP_HOME / 주 / 하둡 / yarn`을 구축 할 수 있습니다.

    하둡 소스를 변경하지 않고 그것을 해결하는 방법에 대한 자세한 설명은 여기 덕분에이 스레드를 둡니다.

  2. from https://stackoverflow.com/questions/58300578/how-to-fix-resource-changed-on-src-filesystem-issue by cc-by-sa and MIT license