복붙노트

[HADOOP] 실패지도 작업의 #은 제한을 허용 초과했습니다

HADOOP

실패지도 작업의 #은 제한을 허용 초과했습니다

파이썬을 사용하여 하둡 스트리밍에 내 손을 시도하고있다. 나는 간단한지도를 작성하고 여기에 도움을 복용하여 스크립트를 줄일 수있다

다음과 같이지도 스크립트입니다 :

#!/usr/bin/env python

import sys, urllib, re

title_re = re.compile("<title>(.*?)</title>", re.MULTILINE | re.DOTALL | re.IGNORECASE)

for line in sys.stdin:
    url = line.strip()
    match = title_re.search(urllib.urlopen(url).read())
    if match :
        print url, "\t", match.group(1).strip()

다음과 같이 스크립트가 감소 :

#!/usr/bin/env python

from operator import itemgetter
import sys

for line in sys.stdin :
    line = line.strip()
    print line

하둡 스트리밍 항아리를 사용하여 이러한 스크립트를 실행 한 후, 맵 작업을 완료하고 나는 그들이 100 % 완료되었는지 볼 수 있지만 작업이 22 %에 박히 줄일 수 있고, 오랜 기간 후에는 오류 streaming.StreamJob 제공 : 성공하지 작업. 오류 : 실패지도 작업의 #은 제한을 허용 초과했습니다. FAILEDCOUNT : 1. 오류입니다.

나는이 뒤에 정확한 이유를 찾을 수 없습니다입니다.

다음과 같은 내 터미널 창 본다 :

shekhar@ubuntu:/host/Shekhar/Softwares/hadoop-1.0.0$ hadoop jar contrib/streaming/hadoop-streaming-1.0.0.jar -mapper /host/Shekhar/HadoopWorld/MultiFetch.py -reducer /host/Shekhar/HadoopWorld/reducer.py -input /host/Shekhar/HadoopWorld/urls/* -output /host/Shekhar/HadoopWorld/titles3
Warning: $HADOOP_HOME is deprecated.

packageJobJar: [/tmp/hadoop-shekhar/hadoop-unjar2709939812732871143/] [] /tmp/streamjob1176812134999992997.jar tmpDir=null
12/05/27 11:27:46 INFO util.NativeCodeLoader: Loaded the native-hadoop library
12/05/27 11:27:46 INFO mapred.FileInputFormat: Total input paths to process : 3
12/05/27 11:27:46 INFO streaming.StreamJob: getLocalDirs(): [/tmp/hadoop-shekhar/mapred/local]
12/05/27 11:27:46 INFO streaming.StreamJob: Running job: job_201205271050_0006
12/05/27 11:27:46 INFO streaming.StreamJob: To kill this job, run:
12/05/27 11:27:46 INFO streaming.StreamJob: /host/Shekhar/Softwares/hadoop-1.0.0/libexec/../bin/hadoop job  -Dmapred.job.tracker=localhost:9001 -kill job_201205271050_0006
12/05/27 11:27:46 INFO streaming.StreamJob: Tracking URL: http://localhost:50030/jobdetails.jsp?jobid=job_201205271050_0006
12/05/27 11:27:47 INFO streaming.StreamJob:  map 0%  reduce 0%
12/05/27 11:28:07 INFO streaming.StreamJob:  map 67%  reduce 0%
12/05/27 11:28:37 INFO streaming.StreamJob:  map 100%  reduce 0%
12/05/27 11:28:40 INFO streaming.StreamJob:  map 100%  reduce 11%
12/05/27 11:28:49 INFO streaming.StreamJob:  map 100%  reduce 22%
12/05/27 11:31:35 INFO streaming.StreamJob:  map 67%  reduce 22%
12/05/27 11:31:44 INFO streaming.StreamJob:  map 100%  reduce 22%
12/05/27 11:34:52 INFO streaming.StreamJob:  map 67%  reduce 22%
12/05/27 11:35:01 INFO streaming.StreamJob:  map 100%  reduce 22%
12/05/27 11:38:11 INFO streaming.StreamJob:  map 67%  reduce 22%
12/05/27 11:38:20 INFO streaming.StreamJob:  map 100%  reduce 22%
12/05/27 11:41:29 INFO streaming.StreamJob:  map 67%  reduce 22%
12/05/27 11:41:35 INFO streaming.StreamJob:  map 100%  reduce 100%
12/05/27 11:41:35 INFO streaming.StreamJob: To kill this job, run:
12/05/27 11:41:35 INFO streaming.StreamJob: /host/Shekhar/Softwares/hadoop-1.0.0/libexec/../bin/hadoop job  -Dmapred.job.tracker=localhost:9001 -kill job_201205271050_0006
12/05/27 11:41:35 INFO streaming.StreamJob: Tracking URL: http://localhost:50030/jobdetails.jsp?jobid=job_201205271050_0006
12/05/27 11:41:35 ERROR streaming.StreamJob: Job not successful. Error: # of failed Map Tasks exceeded allowed limit. FailedCount: 1. LastFailedTask: task_201205271050_0006_m_000001
12/05/27 11:41:35 INFO streaming.StreamJob: killJob...
Streaming Job Failed!

사람이 좀 도와 주시겠습니까?

편집하다 다음과 같이 작업 추적기 세부 사항은 다음과 같습니다 :

Hadoop job_201205271050_0006 on localhost

User: shekhar
Job Name: streamjob1176812134999992997.jar
Job File: file:/tmp/hadoop-shekhar/mapred/staging/shekhar/.staging/job_201205271050_0006/job.xml
Submit Host: ubuntu
Submit Host Address: 127.0.1.1
Job-ACLs: All users are allowed
Job Setup: Successful
Status: Failed
Failure Info:# of failed Map Tasks exceeded allowed limit. FailedCount: 1. LastFailedTask: task_201205271050_0006_m_000001
Started at: Sun May 27 11:27:46 IST 2012
Failed at: Sun May 27 11:41:35 IST 2012
Failed in: 13mins, 48sec
Job Cleanup: Successful
Black-listed TaskTrackers: 1
Kind    % Complete  Num Tasks   Pending Running Complete    Killed  Failed/Killed
Task Attempts
map 100.00%
3   0   0   2   1   4 / 0
reduce  100.00%
1   0   0   0   1   0 / 1

해결법

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

    1.이 오류가 너무 많은지도 작업을 완료하는 데 실패, 단지 일반 오류입니다 :

    이 오류가 너무 많은지도 작업을 완료하는 데 실패, 단지 일반 오류입니다 :

    당신은 작업을 축소 / 개별지도의 로그로 이동합니다 EMR 콘솔을 사용할 수 있습니다. 그럼 당신은 문제가 무엇인지 볼 수 있어야합니다.

    내 경우에는 - 내가 잘못지도 스크립트의 경로를 설정처럼, 작은 실수를했을 때 나는이 오류가 발생했습니다.

    작업의 로그를 볼 수있는 단계 :

    http://antipatterns.blogspot.nl/2013/03/amazon-emr-map-reduce-error-of-failed.html

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

    2.난 그냥 같은 오류 쇼를 위로했다. 내 경우는 구문 분석 오류로 밝혀졌다. 표준 입력이에서 라인을 분할 장소에서 "예상치 못한"새로운 라인이 있었다. 나는 당신의 데이터 파일을 확인하는 것이 좋습니다 것입니다. 나는이 새로운 라인을 가지고 열을 제거하면 괜찮했다.

    난 그냥 같은 오류 쇼를 위로했다. 내 경우는 구문 분석 오류로 밝혀졌다. 표준 입력이에서 라인을 분할 장소에서 "예상치 못한"새로운 라인이 있었다. 나는 당신의 데이터 파일을 확인하는 것이 좋습니다 것입니다. 나는이 새로운 라인을 가지고 열을 제거하면 괜찮했다.

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

    3.먼저 표준 오류를 확인하십시오. 귀하의 정보는에서 열려진 일반적이며, 오류가 무엇인지를 결정하는 것만으로는 충분하지 않습니다 : {당신의 하둡 임시 디렉토리는 여기} / mapred / 지역 / userlogs / {당신의 작업 ID} / {당신이 시도 아이디} / 표준 에러

    먼저 표준 오류를 확인하십시오. 귀하의 정보는에서 열려진 일반적이며, 오류가 무엇인지를 결정하는 것만으로는 충분하지 않습니다 : {당신의 하둡 임시 디렉토리는 여기} / mapred / 지역 / userlogs / {당신의 작업 ID} / {당신이 시도 아이디} / 표준 에러

    숀의 대답은 대부분의 경우 먼저 사용 하둡 없다, 그래서 당신이 얻을 수 있습니다 추측 'ENV : 파이썬 \ r을을 : 그런 파일이나 디렉토리'오류가 발생했습니다. 그렇다면, 단순히이 문제를 해결하기 위해 LF하기 위해 CR을 교체하십시오. 그냥 \ n을 함께 \ r을 대체하는 스크립트를 실행

  4. ==============================

    4.당신의 매퍼 및 감속기의 시작 부분에 다음 줄을 추가합니다 :

    당신의 매퍼 및 감속기의 시작 부분에 다음 줄을 추가합니다 :

    #!/usr/bin/python
    
  5. from https://stackoverflow.com/questions/10772063/of-failed-map-tasks-exceeded-allowed-limit by cc-by-sa and MIT license