복붙노트

[HADOOP] 로깅 기능을 사용하더라도 내 원사 응용 프로그램에 로그가없는 이유는 무엇입니까?

HADOOP

로깅 기능을 사용하더라도 내 원사 응용 프로그램에 로그가없는 이유는 무엇입니까?

xml 파일의 로그를 활성화했습니다 : yarn-site.xml. 다음과 같이 원사를 다시 시작했습니다.

sudo service hadoop-yarn-resourcemanager restart
sudo service hadoop-yarn-nodemanager restart

내 응용 프로그램을 실행 한 다음 원사 응용 프로그램 목록에 applicationID가 표시됩니다. 그래서 나는 이것을 수행합니다 : 원사 로그 -applicationId <응용 프로그램 ID>. 다음을 얻습니다.

hdfs://<ip address>/var/log/hadoop-yarn/path/to/application/  does not have any log files

다른 구성을 변경해야합니까? 아니면 로그에 잘못된 방식으로 액세스하고 있습니까?

고맙습니다.

해결법

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

    1.

    yarn application -list
    

    SUBMITTED, ACCEPTED 또는 RUNNING 상태에있는 응용 프로그램 만 나열합니다.

    로그 집계는 각 컨테이너의 로그를 수집하고 응용 프로그램이 완료된 후에 만이 로그를 yarn.nodemanager.remote-app-log-dir에 구성된 디렉토리로 이동합니다. 여기서 yarn.log-aggregation-enable 속성에 대한 설명을 참조하십시오.

    따라서 명령에 의해 나열된 applicationId가 아직 완료되지 않고 로그가 수집되지 않습니다. 따라서 실행중인 응용 프로그램의 로그에 액세스하려고 할 때의 응답

    hdfs://<ip address>/var/log/hadoop-yarn/path/to/application/  does not have any log files
    

    응용 프로그램이 완료되면 동일한 명령 얀 로그 -applicationId <응용 프로그램 ID>를 사용하여 로그를 볼 수 있습니다.

    모든 완성 된 응용 프로그램을 나열하려면 다음을 사용하십시오.

    yarn application -list -appStates FINISHED
    

    또는 모든 응용 프로그램을 나열하려면

    yarn application -list -appStates ALL
    
  2. ==============================

    2.hadoop 이상의 버전 2.3.2에서는 yarn-site.xml에서이 구성을 사용하여 실행중인 작업에서 매시간 로그 집계를 수행 할 수 있습니다.

    hadoop 이상의 버전 2.3.2에서는 yarn-site.xml에서이 구성을 사용하여 실행중인 작업에서 매시간 로그 집계를 수행 할 수 있습니다.

    <property>
        <name>yarn.nodemanager.log-aggregation.roll-monitoring-interval-seconds</name>
        <value>3600</value>
    </property>
    

    자세한 내용은 다음을 참조하십시오. https://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.3.2/bk_yarn_resource_mgt/content/ref-375ff479-e530-46d8-9f96-8b52dadb5183.1.html

  3. ==============================

    3.로그 집계는 yarn-site.xml 파일에서 사용 가능합니다. yarn.log-aggregation-enable 등록 정보는 실행중인 응용 프로그램에 대한 로그 집계를 가능하게합니다.

    로그 집계는 yarn-site.xml 파일에서 사용 가능합니다. yarn.log-aggregation-enable 등록 정보는 실행중인 응용 프로그램에 대한 로그 집계를 가능하게합니다.

    <property>
     <name>yarn.log-aggregation-enable</name>
     <value>true</value>
    </property>
    
  4. ==============================

    4.아마 다른 appOwner와 함께 저장되었습니다. 명령에서 응용 프로그램 소유자를 지정하려고 할 수 있습니다.

    아마 다른 appOwner와 함께 저장되었습니다. 명령에서 응용 프로그램 소유자를 지정하려고 할 수 있습니다.

    원사 기록 -appOwner .. -application_id ..

  5. from https://stackoverflow.com/questions/42685745/why-does-my-yarn-application-not-have-logs-even-with-logging-enabled by cc-by-sa and MIT license