2012-05-03 2 views
0

* 것과 내 큐션 코드와 출력 *하둡 스트리밍 간단한 매핑 실패 및 하둡 (NLTK 코드) 작업을 줄일 1.0.0

[hduser Janardhan의 하둡 @] $ 빈/하둡 항아리 contrib/streaming/hadoop-streaming-1.0.0.jar -file /home/hduser/mapper.py -mapper mapper.py -file /home/hduser/reducer.py -reducer reducer.py -input/user/hduser/input.txt를 - 출력/가정 아래/hduser/outpututttt

Warning: $HADOOP_HOME is deprecated. 

    packageJobJar: [/home/hduser/mapper.py, /home/hduser/reducer.py, /app/hadoop/tmp/hadoop-unjar2185859252991058106/] [] /tmp/streamjob2973484922110272968.jar tmpDir=null 
    12/05/03 20:36:02 INFO mapred.FileInputFormat: Total input paths to process : 1 
    12/05/03 20:36:03 INFO streaming.StreamJob: getLocalDirs(): [/app/hadoop/tmp/mapred/local] 
    12/05/03 20:36:03 INFO streaming.StreamJob: Running job: job_201205032014_0003 
    12/05/03 20:36:03 INFO streaming.StreamJob: To kill this job, run: 
    12/05/03 20:36:03 INFO streaming.StreamJob: /usr/local/hadoop/libexec/../bin/hadoop job -Dmapred.job.tracker=localhost:54311 -kill job_201205032014_0003 
    12/05/03 20:36:03 INFO streaming.StreamJob: Tracking URL: http://localhost.localdomain:50030/jobdetails.jsp?jobid=job_201205032014_0003 
    12/05/03 20:36:04 INFO streaming.StreamJob: map 0% reduce 0% 
    12/05/03 20:36:21 INFO streaming.StreamJob: map 100% reduce 0% 
    12/05/03 20:36:24 INFO streaming.StreamJob: map 0% reduce 0% 
    12/05/03 20:37:00 INFO streaming.StreamJob: map 100% reduce 100% 
    12/05/03 20:37:00 INFO streaming.StreamJob: To kill this job, run: 
    12/05/03 20:37:00 INFO streaming.StreamJob: /usr/local/hadoop/libexec/../bin/hadoop job -Dmapred.job.tracker=localhost:54311 -kill job_201205032014_0003 
    12/05/03 20:37:00 INFO streaming.StreamJob: Tracking URL: http://localhost.localdomain:50030/jobdetails.jsp?jobid=job_201205032014_0003 
    12/05/03 20:37:00 ERROR streaming.StreamJob: Job not successful. Error: # of failed Map Tasks exceeded allowed limit. FailedCount: 1. LastFailedTask: task_201205032014_0003_m_000000 
    12/05/03 20:37:00 INFO streaming.StreamJob: killJob... 
    Streaming Job Failed! 

내가 작업 TRA에서 그것을 가지고 오류를 표시 사전에 cker

java.lang.RuntimeException: PipeMapRed.waitOutputThreads(): subprocess failed with code 1 
    at org.apache.hadoop.streaming.PipeMapRed.waitOutputThreads(PipeMapRed.java:311) 
    at org.apache.hadoop.streaming.PipeMapRed.mapRedFinished(PipeMapRed.java:545) 
    at org.apache.hadoop.streaming.PipeMapper.close(PipeMapper.java:132) 
    at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:57) 
    at org.apache.hadoop.streaming.PipeMapRunner.run(PipeMapRunner.java:36) 
    at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:436) 
    at org.apache.hadoop.mapred.MapTask.run(MapTask.java:372) 
    at org.apache.hadoop.mapred.Child$4.run(Child.java:255) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at javax.security.auth.Subject.doAs(Subject.java:416) 
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1083) 
    at org.apache.hadoop.mapred.Child.main(Child.java:249) 

덕분에

내 문제에 답하십시오, 그것은 긴급

참고 : 그것은 로컬로 작동하는 것 .. 코드는

[[email protected] ~]$ cat input.txt | ./mapper.py | sort | ./reducer.py 
('be', 'VB') 1 
('ceremony', 'NN') 1 
('first', 'JJ')  2 
('for', 'IN') 2 
('hi', 'NN') 1 
('place', 'NN')  1 
('the', 'DT') 2 
('welcome', 'VBD') 1 

답변

0

입니다 너 d 싶어 할거야. 데이터 노드에서 stderr 로그를 검사하여 맵 및 작업 축소에 실패한 ebug. 클러스터에서 로컬로 실행되는 작업이 실패 할 경우 대개 이러한 문제가 많이 발생합니다.

hadoop 클러스터의 jobtracker 웹 인터페이스 (일반적으로 http://master.node.ip.address:50030/jobtracker.jsp)를 통해 로그에 액세스 할 수 있어야합니다. 귀하의 직업은 "실패한 직업"에 나타나야합니다. 작업 ID를 클릭 한 다음지도에서 '실패'열의 작업을 줄이면 로그가 표시됩니다.

mapper.py 및 reducer.py가 실행 가능하지 않으면 (첫 번째 줄 #!/usr/bin/python, 파일 속성이 올바르게 설정 됨) 인수를 "--mapper 'python mapper로 변경해야 할 수도 있습니다. py ''등