나는 Hadoop을 처음 사용하며 'Definitive Guide'서적을 읽었습니다..class 파일을 실행하기 전에 hadoop 명령을 사용하기 전에 .class 파일을 얻는 방법은 무엇입니까?
ch02에는 매퍼, 감속기 및 주 기능이있는 클래스가있는 간단한 hadoop 예제가 있습니다. 책이 말하듯
, 나는 코드를 실행하는
% export HADOOP_CLASSPATH=hadoop-examples.jar
% hadoop MaxTemperature input/ncdc/sample.txt output
을 사용해야합니다. MaxTemperature는 main 메소드와 입력 및 출력 경로가 뒤 따르는 클래스입니다.
Exception in thread "main" java.lang.NoClassDefFoundError: MaxTemperature
Caused by: java.lang.ClassNotFoundException: MaxTemperature
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: MaxTemperature. Program will exit.
내가 자바 파일을 컴파일 javac의 사용을 시도 그래서 내가 .class 파일을 가지고 있지 않은 것을 발견 : 나는 예외를 가지고 위의 나는 명령을 실행
. 그런 다음 하둡의 모든 수업을 찾을 수 없다는 오류를 보냈습니다.
이클립스로 바뀌었고, hadoop 빌드 경로로 프로젝트를 만들었습니다. 분명히 잘 작동했고, 이클립스 프로젝트의 bin 폴더에있는 .class 파일을 찾았습니다. 나는 그 .class 파일을 가지고 있기 때문에이 시간까지, 내가 사용할 수 있습니다
% hadoop MaxTemperature input/ncdc/sample.txt output
내 질문은 :
나는 자바 파일을 컴파일하고 얻을 javac의를 사용하여 제대로 하둡 클래스 경로를 구성 할 수 있습니다 방법.class 파일?
은 (내가hadoop classpath
을 사용하고 hadoop_classpath 긴 sooo를하다 발견했다. 나는 오래과 클래스 경로를 설정해야합니까?)
당신에게 :) 모든 문제를 해결 -classpath