반응형
하둡 MR작업 중 다음과 같은 에러를 만났다.
19/06/19 11:16:49 INFO mapreduce.Job: Task Id : attempt_1559692026802_2824_m_000031_2, Status : FAILED
Error: Found interface org.apache.hadoop.mapreduce.Counter, but class was expected
19/06/19 11:16:49 INFO mapreduce.Job: Task Id : attempt_1559692026802_2824_m_000047_2, Status : FAILED
Error: Found interface org.apache.hadoop.mapreduce.Counter, but class was expected
19/06/19 11:16:49 INFO mapreduce.Job: Task Id : attempt_1559692026802_2824_m_000011_2, Status : FAILED
Error: Found interface org.apache.hadoop.mapreduce.Counter, but class was expected
19/06/19 11:16:49 INFO mapreduce.Job: Task Id : attempt_1559692026802_2824_m_000034_2, Status : FAILED
Error: Found interface org.apache.hadoop.mapreduce.Counter, but class was expected
위와 같은 에러로 인해 map작업이 계속해서 실패하며 다음과 같은 에러를 내며 죽어버린다.
Exception in thread "main" java.lang.NoSuchMethodError: org.apache.hadoop.mapreduce.Counters.getGroup(Ljava/lang/String;)Lorg/apache/hadoop/mapreduce/CounterGroup;
문제의 원인은 하둡 MR작업 중 Counter를 사용하는데 해당 라이브러리를 잘못 가져다 써서 문제가 발생한 것이였다.
위와 같은 hadoop-core, hadoop-common 버전의 라이브러리를 사용해 작업을 했었다. 하지만 실제 하둡 MR을 구동하는 환경은 CDH 5.11.1에 설치된 하둡 패키지를 사용하고 있었기에 Counter메소드를 찾지 못해 NoSuchMethodError를 뱉는 것이었다.
따라서 pom.xml에 repository와 depency 수정으로 해결하였다.
cdh5.11.1에서 동작하도록 수정해주었다.
끝~~~~신기한건 똑같은 기능을 spark, mr둘다 만들어서 테스트해보았는데 단순히 데이터 읽어가면서 filterling하고 간단한 통계자료 뽑고하는 로직만 있어서 그런지 하둡MR이 훨씬 빨랐다는거....
반응형
'Bigdata > Hadoop' 카테고리의 다른 글
[ Hadoop ] distcp시 org.apache.hadoop.ipc.RemoteException 에러 (0) | 2019.09.24 |
---|---|
[ Hadoop ] 하둡 MR reducer개수에 따른 성능차이? (0) | 2019.06.27 |
[ Hadoop ] hdfs 파일 사이즈 보기(du) (0) | 2019.05.29 |
[ Hadoop ] 하둡 밸런서란 무엇인가? (0) | 2018.12.28 |
[ Hadoop ] 하둡 파일시스템 이미지와 에디트 로그 (0) | 2018.12.27 |