[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.이 오류가 너무 많은지도 작업을 완료하는 데 실패, 단지 일반 오류입니다 :
이 오류가 너무 많은지도 작업을 완료하는 데 실패, 단지 일반 오류입니다 :
당신은 작업을 축소 / 개별지도의 로그로 이동합니다 EMR 콘솔을 사용할 수 있습니다. 그럼 당신은 문제가 무엇인지 볼 수 있어야합니다.
내 경우에는 - 내가 잘못지도 스크립트의 경로를 설정처럼, 작은 실수를했을 때 나는이 오류가 발생했습니다.
작업의 로그를 볼 수있는 단계 :
http://antipatterns.blogspot.nl/2013/03/amazon-emr-map-reduce-error-of-failed.html
-
==============================
2.난 그냥 같은 오류 쇼를 위로했다. 내 경우는 구문 분석 오류로 밝혀졌다. 표준 입력이에서 라인을 분할 장소에서 "예상치 못한"새로운 라인이 있었다. 나는 당신의 데이터 파일을 확인하는 것이 좋습니다 것입니다. 나는이 새로운 라인을 가지고 열을 제거하면 괜찮했다.
난 그냥 같은 오류 쇼를 위로했다. 내 경우는 구문 분석 오류로 밝혀졌다. 표준 입력이에서 라인을 분할 장소에서 "예상치 못한"새로운 라인이 있었다. 나는 당신의 데이터 파일을 확인하는 것이 좋습니다 것입니다. 나는이 새로운 라인을 가지고 열을 제거하면 괜찮했다.
-
==============================
3.먼저 표준 오류를 확인하십시오. 귀하의 정보는에서 열려진 일반적이며, 오류가 무엇인지를 결정하는 것만으로는 충분하지 않습니다 : {당신의 하둡 임시 디렉토리는 여기} / mapred / 지역 / userlogs / {당신의 작업 ID} / {당신이 시도 아이디} / 표준 에러
먼저 표준 오류를 확인하십시오. 귀하의 정보는에서 열려진 일반적이며, 오류가 무엇인지를 결정하는 것만으로는 충분하지 않습니다 : {당신의 하둡 임시 디렉토리는 여기} / mapred / 지역 / userlogs / {당신의 작업 ID} / {당신이 시도 아이디} / 표준 에러
숀의 대답은 대부분의 경우 먼저 사용 하둡 없다, 그래서 당신이 얻을 수 있습니다 추측 'ENV : 파이썬 \ r을을 : 그런 파일이나 디렉토리'오류가 발생했습니다. 그렇다면, 단순히이 문제를 해결하기 위해 LF하기 위해 CR을 교체하십시오. 그냥 \ n을 함께 \ r을 대체하는 스크립트를 실행
-
==============================
4.당신의 매퍼 및 감속기의 시작 부분에 다음 줄을 추가합니다 :
당신의 매퍼 및 감속기의 시작 부분에 다음 줄을 추가합니다 :
#!/usr/bin/python
from https://stackoverflow.com/questions/10772063/of-failed-map-tasks-exceeded-allowed-limit by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] 하이브 - 상위 부모 잎 노드에서 양의 균형을 롤링 (0) | 2019.09.21 |
---|---|
[HADOOP] 스파크 클러스터에서 사용할 수있는 모든 파일은 스칼라 또는 Python을 사용 하둡 HDFS에 저장된 목록? (0) | 2019.09.21 |
[HADOOP] 무대-1 하둡 작업 정보는 : 감속기의 수는 항상 내가 그것을 변경할 수 없습니다입니다 1. 보여줍니다. 내가 어떻게 그것을 바꿀 수 있나요? (0) | 2019.09.21 |
[HADOOP] 하이브 다른 테이블로 한 테이블 JSON 데이터 삽입 (0) | 2019.09.21 |
[HADOOP] 커넥터를 ojdbc6 사용 Sqoop을 가져 오기 (0) | 2019.09.21 |