Oozie에서 Hive Job 등록시 workflow.xml 설정
하둡(Hadoop) 에코시스템에서 Oozie를 사용하여 Hive Job 워크플로우를 구성할 때 필요한 workflow.xml 설정 예시입니다. 특히, Hive 액션이 실행될 때 커스텀 Java Agent(예: 엑셈 플라밍고(EXEM Flamingo) 데이터 수집 에이전트)를 함께 띄우기 위해 mapreduce.map.java.opts 옵션을 주입해야 할 때 참고할 수 있습니다.
workflow.xml 예제
xml
workflow.xml
<workflow-app xmlns="uri:oozie:workflow:0.2" name="hive-wf">
<start to="hivejob"/>
<action name="hivejob">
<hive xmlns="uri:oozie:hive-action:0.2">
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<job-xml>hive-site.xml</job-xml>
<configuration>
<property>
<name>oozie.use.system.libpath</name>
<value>true</value>
</property>
<property>
<name>oozie.libpath</name>
<value>${nameNode}/user/oozie/share/lib/lib_20160913152446/hive</value>
</property>
<property>
<name>oozie.launcher.mapreduce.map.java.opts</name>
<value>-javaagent:/usr/flamingo/flamingo-management-agent-hv-0.1-SNAPSHOT.jar</value>
</property>
</configuration>
<script>run.sql</script>
</hive>
<ok to="end"/>
<error to="fail"/>
</action>
<kill name="fail">
<message>Jaql failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
</kill>
<end name='end'/>
</workflow-app>플랫폼 모니터링 에이전트 연동 (핵심)
Oozie 런처가 MapReduce를 통해 Hive Job을 띄울 때 해당 JVM 위에서 데이터 수집 에이전트(예: 플라밍고 성능 모니터링 에이전트)가 함께 동작하여 각종 지표 및 에코시스템 워크플로우 데이터를 실시간으로 중앙에 보고하게 하려면 아래의 프로퍼티를 configuration 블록 내에 반드시 추가해야 합니다.
xml
workflow.xml
<property>
<name>oozie.launcher.mapreduce.map.java.opts</name>
<value>-javaagent:/usr/flamingo/flamingo-management-agent-hv-0.1-SNAPSHOT.jar</value>
</property>이 설정을 누락하면 Oozie를 통해 구동된 하위에 맵리듀스 태스크들로부터 시스템 지표나 커스텀 데이터를 정상적으로 모니터링할 수 없습니다.
Last updated on