[HADOOP] 클러스터를 하둡과 "하둡 단지"로 실행하는 실행 항아리 보내기
HADOOP클러스터를 하둡과 "하둡 단지"로 실행하는 실행 항아리 보내기
나는 일반적으로 주요 방법으로 실행 항아리 패키지를 만들고 명령 줄 "하둡 항아리 Some.jar ClassWithMain 입력 출력"에 의해 운영
이 메인있어서, 작업 및 구성으로 구성 될 수도 있고 구성 클래스 conf.setMapperClass (Mapper.class) 등 매퍼 또는 감속기 클래스를 지정하는 세터를 갖는다.
그러나 원격 작업을 제출의 경우는 하둡 클라이언트 API를 사용하려면 항아리와 매퍼 이상의 클래스를 설정해야합니다.
job.setJarByClass(HasMainMethod.class);
job.setMapperClass(Mapper_Class.class);
job.setReducerClass(Reducer_Class.class);
나는 프로그램의 주요 방법은 매퍼와 감속기를 지정하기 위해 원격 하둡 클러스터에 클라이언트에 항아리를 전송하고 "하둡 항아리"같은 명령이 항아리를 실행합니다.
그래서 내가 어떻게이 문제를 처리 할 수 있습니까?
해결법
-
==============================
1.하둡은 쉘 스크립트입니다. 결국, 하둡 항아리 org.apache.hadoop.util.RunJar를 호출합니다. 무엇 하둡 단지 당신이 CLASSPATH를 설정 돕고있다 않습니다. 그래서 직접 사용할 수 있습니다.
하둡은 쉘 스크립트입니다. 결국, 하둡 항아리 org.apache.hadoop.util.RunJar를 호출합니다. 무엇 하둡 단지 당신이 CLASSPATH를 설정 돕고있다 않습니다. 그래서 직접 사용할 수 있습니다.
예를 들어,
String input = "..."; String output = "..."; org.apache.hadoop.util.RunJar.main( new String[]{"Some.jar", "ClassWithMain", input, output});
그러나, 당신은 당신이 그것을 사용하기 전에 올바르게 CLASSPATH를 설정해야합니다. 올바른 CLASSPATH를받을 수있는 편리한 방법은 하둡 클래스 경로입니다. 이 명령을 입력하면 전체 CLASSPATH를 얻을 것이다.
당신이 당신의 자바 응용 프로그램을 실행하기 전에 그런 다음 CLASSPATH를 설정합니다. 예를 들어,
export CLASSPATH=$(hadoop classpath):$CLASSPATH java -jar YourJar.jar
from https://stackoverflow.com/questions/18394663/send-executable-jar-to-hadoop-cluster-and-run-as-hadoop-jar by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] HIVE 삽입 분할 된 테이블로 덮어 (0) | 2019.09.18 |
---|---|
[HADOOP] 이진 입력이 하둡 스트리밍 작업? (0) | 2019.09.18 |
[HADOOP] 어떻게 하이브 저장 데이터 (HDFS에서로드)? (0) | 2019.09.18 |
[HADOOP] 윈도우 기능을 사용하여 지원 스파크 (0) | 2019.09.18 |
[HADOOP] 특수 문자로 구분 하둡에서 텍스트 소스를 읽는 방법 (0) | 2019.09.18 |