[HADOOP] Oozie : Oozie <java> 액션에서 Map-Reduce를 시작 하시겠습니까?
HADOOPOozie : Oozie 액션에서 Map-Reduce를 시작 하시겠습니까?
O'Reilley의 Apache Oozie (Islam and Srinivasan 2015)는 다음과 같이 말합니다.
그러나, 나는이 접근법을 사용하여 성공하지 못하고있다.
워크 플로의 작업 정의는 다음과 같습니다.
<java>
<!-- Namenode etc. in global configuration -->
<prepare>
<delete path="${transformOut}" />
</prepare>
<configuration>
<property>
<name>mapreduce.job.queuename</name>
<value>default</value>
</property>
</configuration>
<main-class>package.containing.TransformTool</main-class>
<arg>${transformIn}</arg>
<arg>${transformOut}</arg>
<file>${avroJar}</file>
<file>${avroMapReduceJar}</file>
</java>
Tool 구현의 main () 구현은 다음과 같습니다.
public static void main(String[] args) throws Exception {
int res = ToolRunner.run(new TransformTool(), args);
if (res != 0) {
throw new Exception("Error running MapReduce.");
}
}
워크 플로가 매번 위에있는 "MapReduce 실행 오류"예외로 인해 충돌합니다. 문제를 진단하기 위해 MapReduce의 출력을 얻으려면 어떻게해야합니까? 이 도구를 사용하여 MapReduce 응용 프로그램을 실행하는 데 문제가 있습니까? 잘못된 API 호출을 사용하고 있습니까?
Oozie
여기에 무슨 문제가 있니? 나는 '새로운'mapreduce API를 사용하고있다.
어떤 도움을 주셔서 감사합니다.
해결법
-
==============================
1.> MapReduce의 출력을 얻으려면 어떻게해야합니까?
> MapReduce의 출력을 얻으려면 어떻게해야합니까?
기본 사항으로 돌아갑니다.
어떤 버전의 Hadoop 및 어떤 Oozie 버전을 사용하고 있는지 언급하지 않으므로 "최근"설정 (예 : Hadoop 2.7 / TimelineServer 및 Oozie 4.2)을 사용합니다. 그리고 어떤 종류의 인터페이스 (커맨드 라인 인 Oozie / Yarn UI? Hue?)를 언급하지 않았기 때문에 good'old'CLI를 사용하여 몇 가지 예제를 제공 할 것입니다.
> 오지 작업 - 로컬 타임 -len 10 - 필터 이름 = CrazyExperiment
"CrazyExperiment"워크 플로우의 마지막 10 번 실행을 보여줍니다. 그러면 다음 명령에서 적절한 "작업 ID"를 주입 할 수 있습니다.
> 직장 - 정보 0000005-151217173344062-oozie-oozi-W
Oozie의 관점에서 그 실행 상태를 보여줍니다. Java 작업이 PREP 모드에서 멈춘 경우 Oozie가 YARN에 제출하지 못했습니다. 그렇지 않으면 "외부 ID"에서 job_1449681681381_5858과 같은 것을 찾을 수 있습니다. 그러나 조심하십시오! 작업 접두어는 유산입니다. 실제 YARN ID는 application_1449681681381_5858입니다.
> 오지 작업 - 로그 0000005-151217173344062-oozie-oozi-W
예상대로 Oozie 로그를 표시합니다.
> 실 로그 -applicationId application_1449681681381_5858
실행이 끝난 후 AppMaster (컨테이너 # 1) 및 Java 액션 시작 관리자 (컨테이너 # 2)에 대한 통합 로그를 표시합니다. Launcher에 대한 stdout 로그에는 Oozie 디버그 항목이 포함되어 있습니다. 실제 stdout은 맨 아래에 있습니다.
Java 작업이 다른 YARN 작업을 성공적으로 생성하고 자식 "응용 프로그램 ID"를주의해서 표시 한 경우에는 해당 응용 프로그램을 검색하고 다른 스레드 로그 명령을 실행할 수 있어야합니다.
다음 5 일간의 디버깅을 즐기십시오 ;-)
from https://stackoverflow.com/questions/34344114/oozie-launch-map-reduce-from-oozie-java-action by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] Hadoop java.io.IOException : Mkdirs가 / some / path를 생성하지 못했습니다. (0) | 2019.05.29 |
---|---|
[HADOOP] Hadoop DistributedCache는 더 이상 사용되지 않습니다 - 선호하는 API는 무엇입니까? (0) | 2019.05.29 |
[HADOOP] hadoop.mapred 대 hadoop.mapreduce? (0) | 2019.05.29 |
[HADOOP] 스파크를 통해 .zip 파일을 열거 나 스트리밍하는 법? (0) | 2019.05.28 |
[HADOOP] 하이브에 데이터를 조 변경 / 피벗하는 방법은 무엇입니까? (0) | 2019.05.28 |