2014-02-10 3 views
0

단일 노드에서 hadoop으로 작업했습니다. 나는 새로운 사람과 함께 hadoop 그래서 제발. 튜토리얼 "http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-single-node-cluster/"과 "https://sites.google.com/site/jianpengxu/tutorials/hadoop-setup"을 사용하여 hadoop을 설치했습니다. 명령 jps는 hadoop 노드가 시작되어 실행 중임을 나타냅니다.단일 노드 구성으로 Hadoop 실행

I (예를 들어)이 단어 수를 실행하려고하면

"bin/hadoop jar hadoop-0.20.2-examples.jar wordcount gutenberg gutenberg-output" 
i got the error message 
"14/01/29 14:22:52 INFO input.FileInputFormat: Total input paths to process : 1 
14/01/29 14:22:52 INFO mapred.JobClient: Running job: job_201401241441_0013 
14/01/29 14:22:53 INFO mapred.JobClient: map 0% reduce 0% 
14/01/29 14:23:02 INFO mapred.JobClient: Task Id : attempt_201401241441_0013_m_000000_0, Status : FAILED 
java.lang.ClassCastException: org.apache.hadoop.mapreduce.lib.input.FileSplit cannot be cast to org.apache.hadoop.mapred.InputSplit 
    at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:323) 
    at org.apache.hadoop.mapred.MapTask.run(MapTask.java:307) 
    at org.apache.hadoop.mapred.Child.main(Child.java:170) 

14/01/29 14:23:08 INFO mapred.JobClient: Task Id : attempt_201401241441_0013_m_000000_1, Status : FAILED 
java.lang.ClassCastException: org.apache.hadoop.mapreduce.lib.input.FileSplit cannot be cast to org.apache.hadoop.mapred.InputSplit 
    at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:323) 
    at org.apache.hadoop.mapred.MapTask.run(MapTask.java:307) 
    at org.apache.hadoop.mapred.Child.main(Child.java:170) 

14/01/29 14:23:14 INFO mapred.JobClient: Task Id : attempt_201401241441_0013_m_000000_2, Status : FAILED 
java.lang.ClassCastException: org.apache.hadoop.mapreduce.lib.input.FileSplit cannot be cast to org.apache.hadoop.mapred.InputSplit 
    at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:323) 
    at org.apache.hadoop.mapred.MapTask.run(MapTask.java:307) 
    at org.apache.hadoop.mapred.Child.main(Child.java:170) 

14/01/29 14:23:23 INFO mapred.JobClient: Job complete: job_201401241441_0013 
14/01/29 14:23:23 INFO mapred.JobClient: Counters: 3 
14/01/29 14:23:23 INFO mapred.JobClient: Job Counters 
14/01/29 14:23:23 INFO mapred.JobClient:  Launched map tasks=4 
14/01/29 14:23:23 INFO mapred.JobClient:  Data-local map tasks=4 
14/01/29 14:23:23 INFO mapred.JobClient:  Failed map tasks=1" 

당신이 나에게 어떻게이 문제를 해결하는 아이디어를 제공하시기 바랍니다 수 있습니다. 귀하의 도움에 감사드립니다. 감사합니다,

답변

1

어떤 hadoop 버전이 설치되어 있습니까? 배포판과 함께 제공되는 jar 파일을 사용하고 있습니까? 오류는 hadoop이 이전 MR API를 사용하고 jar가 새 MR API를 사용하고 있음을 나타냅니다.

+0

하둡 0.20.2 버전을 사용하고 있습니다. hadoop 폴더에 들어있는 예제 jar를 사용하고 있습니다. MR API를 예제 jar와 호환되도록 어떻게 변경할 수 있습니까? – user2805242

+0

감사합니다. 이제 작동합니다. – user2805242

1

오류 java.lang.ClassCastException: org.apache.hadoop.mapreduce.lib.input.FileSplit cannot be cast to org.apache.hadoop.mapred.InputSplit은 첨부 된 예제를 사용할 때 Windows에서 Hadoop 2.2.0 또는 2.3.0과 자주 발생합니다.

관리자 권한이있는 Hadoop을 실행합니다.. 기호 링크를 만들려면 권한이 있으면 충분할 수 있습니다. Windows의

기본 보안 설정을 상징적 링크를 만들 수 비 상승 관리자와 모든 관리자가 아닌 사용자를 허용 : bin\winutils.exe /?하면 다음과 같은 힌트를 얻을. 기호 링크에 대한 보안 설정은 로컬 보안 정책 관리 콘솔에서 변경할 수 있습니다.

가 관리자 권한없이 난 단지 로컬 맵리 듀스를 사용하여 예제를 실행할 수 있습니다 (mapred-site.xml에, local-mapreduce.framework.name 설정).

0

이 정확한 문제가있었습니다.

  1. 이동 %에 HADOOP_HOME %의은/etc/하둡/
  2. 열기 "mapred-site.xml 파일"과 "mapred-site.xml.template"각각
  3. 변경 "맵리 듀스 : 나는 다음 단계를 따라 갔다. framework.name "을"local "
관련 문제