복붙노트

[HADOOP] 하둡은 joda 종속성을 찾을 수 없습니다

HADOOP

하둡은 joda 종속성을 찾을 수 없습니다

나는 CSV 파일에서 입력을 받아 계정 당 롤오버 관심을 모으는 맵리 듀스 응용 프로그램을 작성하는 시도했습니다. 내 MRunit 테스트를 통과 한 모든 것을 체크 아웃 것으로 보인다. 나는 내 컴퓨터 (I 로컬 하둡을 실행 해요)에서 jar 파일을 실행하려고하면 다음과 같은 오류가납니다

..........>>
14/07/16 09:09:05 INFO mapred.MapTask: Starting flush of map output
14/07/16 09:09:05 INFO mapred.LocalJobRunner: map task executor complete.
14/07/16 09:09:05 WARN mapred.LocalJobRunner: job_local1566570594_0001
java.lang.Exception: java.lang.NoClassDefFoundError: org/joda/time/ReadableInstant
    at org.apache.hadoop.mapred.LocalJobRunner$Job.runTasks(LocalJobRunner.java:462)
    at org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:522)
Caused by: java.lang.NoClassDefFoundError: org/joda/time/ReadableInstant
    at org.mrIntCalc.CalcInterestMapper.map(CalcInterestMapper.java:38)
    at org.mrIntCalc.CalcInterestMapper.map(CalcInterestMapper.java:12)
    at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:145)
    at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:764)
    at org.apache.hadoop.mapred.MapTask.run(MapTask.java:340)
    at org.apache.hadoop.mapred.LocalJobRunner$Job$MapTaskRunnable.run(LocalJobRunner.java:243)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ClassNotFoundException: org.joda.time.ReadableInstant
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    ... 11 more
14/07/16 09:09:05 INFO mapreduce.Job: Job job_local1566570594_0001 running in uber mode : false
14/07/16 09:09:05 INFO mapreduce.Job:  map 0% reduce 0%
14/07/16 09:09:05 INFO mapreduce.Job: Job job_local1566570594_0001 failed with state FAILED due to: NA
14/07/16 09:09:05 INFO mapreduce.Job: Counters: 0

joda (V2.3)가 pom.xml 파일의 종속성으로 나열됩니다, 그래서 나는 받는다는를 사용하여 응용 프로그램을 만들었습니다. 내가 말했듯이, 내 단위 테스트는 모든 명확 나왔다. 이 문제를 찾고, 나는 어떤 사람들은 내가 그게 꽤 생각하지 않지만 클래스 경로 문제는,이 루트에있을 언급을 참조하십시오. 이견있는 사람?

해결법

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

    1.하둡 공통 라이브러리에 joda-time.jar을 복사. 아마 없을 최고의 솔루션,하지만 작동 적어도.

    하둡 공통 라이브러리에 joda-time.jar을 복사. 아마 없을 최고의 솔루션,하지만 작동 적어도.

  2. from https://stackoverflow.com/questions/24781932/hadoop-cant-find-joda-dependency by cc-by-sa and MIT license