복붙노트

[HADOOP] YARN 직업 기록이 오지 않음

HADOOP

YARN 직업 기록이 오지 않음

소스 코드에서 최신 hadoop 버전 3.0.0 빌드를 사용하고 있습니다. 타임 라인 서비스가 시작되어 작업 기록에도 사용하도록 hadoop을 구성했습니다. 그러나 resoucemanager UI에서 기록을 클릭하면 아래와 같은 오류가 발생합니다.

HTTP ERROR 404

Problem accessing /jobhistory/job/job_1444395439959_0001. Reason:

    NOT_FOUND

누군가 내가 여기서 누락 된 것을 지적 할 수 있습니까? 다음은 yarn-site.xml입니다.

<configuration>

<!-- Site specific YARN configuration properties -->
<property>
  <description>The hostname of the Timeline service web application.</description>
  <name>yarn.timeline-service.hostname</name>
  <value>0.0.0.0</value>
</property>
<property>
  <description>Address for the Timeline server to start the RPC server.</description>
  <name>yarn.timeline-service.address</name>
  <value>${yarn.timeline-service.hostname}:10200</value>
</property>

<property>
  <description>The http address of the Timeline service web application.</description>
  <name>yarn.timeline-service.webapp.address</name>
  <value>${yarn.timeline-service.hostname}:8188</value>
</property>

<property>
  <description>The https address of the Timeline service web application.</description>
  <name>yarn.timeline-service.webapp.https.address</name>
  <value>${yarn.timeline-service.hostname}:8190</value>
</property>

<property>
  <description>Handler thread count to serve the client RPC requests.</description>
  <name>yarn.timeline-service.handler-thread-count</name>
  <value>10</value>
</property>
<property>
  <description>Indicate to ResourceManager as well as clients whether
  history-service is enabled or not. If enabled, ResourceManager starts
  recording historical data that Timelien service can consume. Similarly,
  clients can redirect to the history service when applications
  finish if this is enabled.</description>
  <name>yarn.timeline-service.generic-application-history.enabled</name>
  <value>true</value>
</property>

<property>
  <description>Store class name for history store, defaulting to file system
  store</description>
  <name>yarn.timeline-service.generic-application-history.store-class</name>
  <value>org.apache.hadoop.yarn.server.applicationhistoryservice.FileSystemApplicationHistoryStore</value>
</property>
<property>
     <description>URI pointing to the location of the FileSystem path where the history will be persisted.</description>
     <name>yarn.timeline-service.generic-application-history.fs-history-store.uri</name>
     <value>/tmp/yarn/system/history</value>
</property>
<property>
     <description>T-file compression types used to compress history data.</description>
     <name>yarn.timeline-service.generic-application-history.fs-history-store.compression-type</name>
     <value>none</value>
</property>



 <property>
     <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>
  <property>
    <name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name>
    <value>org.apache.hadoop.mapred.ShuffleHandler</value>
  </property>
</configuration>

내 mapred-site.xml

<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>localhost:10200</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>localhost:8188</value>
</property>
<property>
<name>mapreduce.job.emit-timeline-data</name>
<value>true</value>
</property>
</configuration>

JPS 출력 :

6022 NameNode
27976 NodeManager
27859 ResourceManager
6139 DataNode
6310 SecondaryNameNode
28482 ApplicationHistoryServer
29230 Jps

해결법

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

    1.YARN RM 웹 UI를 통해 로그를 보려면 로그 집계를 활성화해야합니다. 이를 위해 yarn-site.xml에서 다음 매개 변수를 설정해야합니다.

    YARN RM 웹 UI를 통해 로그를 보려면 로그 집계를 활성화해야합니다. 이를 위해 yarn-site.xml에서 다음 매개 변수를 설정해야합니다.

      <property>
          <name>yarn.log-aggregation-enable</name>
          <value>true</value>
      </property>
      <property>
         <name>yarn.nodemanager.remote-app-log-dir</name>
         <value>/app-logs</value>
      </property>
      <property>
          <name>yarn.nodemanager.remote-app-log-dir-suffix</name>
          <value>logs</value>
      </property>
    

    로그 집계를 사용하지 않으면 NM이 로그를 로컬에 저장합니다. 위 설정을 사용하면 "/ app-logs / {username} / logs /"의 HDFS에 로그가 집계됩니다. 이 폴더에서 지금까지 실행 한 모든 응용 프로그램에 대한 로그를 찾을 수 있습니다. 다시 로그 보유는 구성 매개 변수 "yarn.log-aggregation.retain-seconds"(집계 된 로그를 보유하는 기간)에 의해 결정됩니다.

    MapReduce 애플리케이션이 실행 중이면 YARN의 웹 UI에서 로그에 액세스 할 수 있습니다. 응용 프로그램이 완료되면 작업 기록 서버를 통해 로그가 제공됩니다.

    또한 yarn-site.xml에서 다음 구성 매개 변수를 설정하십시오.

    <property>
      <name>yarn.log.server.url</name>
      <value>http://{job-history-hostname}:8188/jobhistory/logs</value>
    </property>
    
  2. from https://stackoverflow.com/questions/33039100/yarn-job-history-not-coming by cc-by-sa and MIT license