Skip to Content
Data EngineeringOozie에서 Hive Job 등록시 workflow.xml 설정

Oozie에서 Hive Job 등록시 workflow.xml 설정

#data-engineering#oozie#hive#hadoop#workflow

하둡(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