복붙노트

[HADOOP] 원사 로그를 삭제하는 방법

HADOOP

원사 로그를 삭제하는 방법

YARN을 처음 접했습니다. 로그를 생성하는 oozie 작업을 실행했습니다.

원사 로그를 볼 수 있습니다

yarn logs -applicationId application_123456789_12345678

해당 로그를 삭제하는 방법을 알고 싶습니다. 로그를 제거하기 위해 파일을 삭제할 수 있습니까?

해결법

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

    1.CLI에서 얀 로그를 삭제하는 얀 명령이 없습니다.

    CLI에서 얀 로그를 삭제하는 얀 명령이 없습니다.

    얀 로그 디렉토리 yarn.nodemanager.log-dirs / application _ $ {appid}로 이동하여 Linux rm을 사용하여 삭제할 수 있습니다. container _ {$ contid}라는 디렉토리에서 개별 컨테이너 로그 디렉토리는이 아래에 있습니다. 각 컨테이너 디렉토리에는 해당 컨테이너에서 생성 된 stderr, stdin 및 syslog 파일이 포함됩니다.

  2. ==============================

    2.작업이 완료되면 NodeManager는 기본적으로 10800 초 (3 시간) 인 $ {yarn.nodemanager.log.retain-seconds}의 각 컨테이너에 대한 로그를 유지하고 만료되면 삭제합니다. 그러나 $ {yarn.log-aggregation-enable}이 활성화되면 NodeManager는 모든 컨테이너 로그를 즉시 하나의 파일로 연결하고 $ {yarn.nodemanager.remote-app-log-dir} / $의 HDFS에 업로드합니다. {user.name} / logs /를 로컬 userlogs 디렉토리에서 삭제하십시오.

    작업이 완료되면 NodeManager는 기본적으로 10800 초 (3 시간) 인 $ {yarn.nodemanager.log.retain-seconds}의 각 컨테이너에 대한 로그를 유지하고 만료되면 삭제합니다. 그러나 $ {yarn.log-aggregation-enable}이 활성화되면 NodeManager는 모든 컨테이너 로그를 즉시 하나의 파일로 연결하고 $ {yarn.nodemanager.remote-app-log-dir} / $의 HDFS에 업로드합니다. {user.name} / logs /를 로컬 userlogs 디렉토리에서 삭제하십시오.

    설명서에 'yarn.nodemanager.delete.debug-delay-sec'가 표시됩니다.

    NodeManager의 DeletionService가 애플리케이션의 현지화 된 파일 디렉토리 및 로그 디렉토리를 삭제하기 전에 애플리케이션이 완료된 후의 시간 (초)입니다. Yarn 응용 프로그램 문제점을 진단하려면이 디렉토리 값을 검사 할 수 있도록이 특성 값을 충분히 크게 설정하십시오 (예 : 600 = 10 분). 등록 정보 값을 변경 한 후 적용하려면 nodemanager를 다시 시작해야합니다. Yarn 애플리케이션의 작업 디렉토리의 루트는 yarn.nodemanager.local-dirs 특성으로 구성 가능하며 (아래 참조) Yarn 애플리케이션의 로그 디렉토리의 루트는 yarn.nodemanager.log-dirs 특성으로 구성 가능합니다 (또한 참조). 이하).

    yarn-default.xml을 구성해야합니다.

      <property>
        <description>
          Number of seconds after an application finishes before the nodemanager's DeletionService will delete the application's localized file directory and log directory.
        </description>
        <name>yarn.nodemanager.delete.debug-delay-sec</name>
        <value>0</value>
      </property>
    

    아마도 초를 유지하는 것이 유용 할 수 있습니다.

    <property>
    <name>yarn.nodemanager.log.retain-seconds</name>
    <value>3600</value>
    </property>
    
  3. ==============================

    3.

    delete ${yarn.nodemanager.remote-app-log-dir}/${user}/${application_id}/...
    
  4. from https://stackoverflow.com/questions/39195478/how-to-delete-yarn-logs by cc-by-sa and MIT license