복붙노트

[HADOOP] 캐스 케이 딩 + libjars = ClassNotFoundException가. 때때로

HADOOP

캐스 케이 딩 + libjars = ClassNotFoundException가. 때때로

나는 의존 항아리에 대한 DistributedCache를 사용 캐스 케이 딩 (실제로 끓는) 하둡 작업을 실행하고 있습니다.

잘 작동 주먹 시간이 있지만 그때는 ClassNotFoundException가 함께 실패 시작 (클래스 경로가 올바르게 설정되어 있는지 의미) :

java.io.IOException: Split class cascading.tap.hadoop.io.MultiInputSplit not found
    at org.apache.hadoop.mapred.MapTask.getSplitDetails(MapTask.java:387)
    at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:412)
    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:396)
    at  org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121)
    at org.apache.hadoop.mapred.Child.main(Child.java:249)
Caused by: java.lang.ClassNotFoundException: cascading.tap.hadoop.io.MultiInputSplit
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:247)
at org.apache.hadoop.conf.Configuration.getClassByName(Configuration.java:820)
    at org.apache.hadoop.mapred.MapTask.getSplitDetails(MapTask.java:385)
    ...

다른 사람은 DistributedCache에서 캐스 케이 딩, 항아리 성공이 있었나요

이 메시지는 캐스 케이 딩은 분산 캐시 단지의 일부 내부 처리를 가지고 있음을 암시하는 것 같다. 이에 흘릴 수있는 모든 빛?

편집 : 나는 하둡 1.0.3에 캐스 케이 딩 2.1.6를 사용하고 있습니다

해결법

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

    1.당신은 하둡의 버전을 사용하고 있습니까? 0.20.2에서 분산 캐시 몇 가지 문제가 있습니다. 당신은 새로운 버전으로 전환 사용해 볼 수 있습니까?

    당신은 하둡의 버전을 사용하고 있습니까? 0.20.2에서 분산 캐시 몇 가지 문제가 있습니다. 당신은 새로운 버전으로 전환 사용해 볼 수 있습니까?

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

    2.크리스 K Wensel, 캐스 케이 딩의 저자는 캐스 케이 딩이 DistributedCache와 아무것도하지 않는 메일 링리스트에 반응했다.

    크리스 K Wensel, 캐스 케이 딩의 저자는 캐스 케이 딩이 DistributedCache와 아무것도하지 않는 메일 링리스트에 반응했다.

    나는 더 보면서 내 코드에서 문제가 있었다 - 내가 제대로 DistributedCache 이러한 파일을 추가하지 않았다.

  3. from https://stackoverflow.com/questions/17861614/cascading-libjars-classnotfoundexception-sometimes by cc-by-sa and MIT license