Apache Oozie

Enterprise Hadoop용 청사진에는 Apache™ Hadoop의 원래 데이터 스토리지 및 데이터 처리 계층이 포함되어 있고, 최신 데이터 아키텍처(데이터 통합 및 거버넌스, 보안 및 운영)에서 기업이 갖춰야 하는 서비스를 위한 구성요소가 추가되어 있습니다. Apache Oozie는 Hadoop 클러스터, 특히 클러스터 내의 작업 스케줄링을 지원하는 일부 운영 서비스를 제공합니다.

Oozie가 수행하는 작업

Apache Oozie는 Apache Hadoop 작업 일정을 계획하는 데 사용되는 Java 웹 애플리케이션입니다. Oozie는 여러 작업을 순차적으로 하나의 논리적인 작업 단위로 결합합니다. 아키텍처 센터 YARN을 통해 Hadoop 스택과 통합되며 Apache MapReduce, Apache Pig, Apache Hive, Apache Sqoop를 위한 Hadoop 작업을 지원합니다. 또한 Oozie는 Java 프로그램이나 셸 스크립트와 같은 시스템별 작업을 예약할 수도 있습니다.

Apache Oozie는 클러스터 관리자가 여러 구성요소 작업에서 복합 데이터 변환을 구축할 수 있도록 지원하는 Hadoop 작업용 툴입니다. 이 툴을 통해 작업을 보다 효과적으로 제어할 수 있고 미리 정해진 간격으로 작업을 보다 쉽게 반복할 수 있습니다. 이 툴의 핵심은 Oozie를 통해 관리자가 Hadoop에서 더 많은 가치를 끌어낼 수 있다는 점입니다.

다음과 같이 두 가지 기본 유형의 Oozie 작업이 있습니다.

  • Oozie Workflow  작업은 실행할 작업 순서를 지정하는 DAG(Directed Acycle Graphs)입니다. 워크플로 작업은 대기해야 합니다.
  • Oozie Coordinator 작업은 시간과 데이터 가용성에 따라 트리거되는 반복적인 Oozie Workflow 작업입니다.

Oozie Bundle 을 통해 여러 코디네이터 및 워크플로 작업을 패키징하고 작업의 수명 주기를 관리할 수 있습니다.

Oozie 작동 원리

Oozie Workflow는 DAG(Directed Acyclic Graph)에 배열된 작업 모음입니다. 제어 노드는 작업 연대표를 정의하고 워크플로 시작 및 종료 규칙을 설정합니다. 이러한 방식으로 Oozie는 결정, 포크 및 조인 노드를 사용하여 워크플로 실행 경로를 제어합니다. 작업 노드는 작업 실행을 트리거합니다.

Oozie는 워크플로 작업을 트리거하지만 Hadoop MapReduce는 이 작업을 실행합니다. 따라서 Oozie는 Hadoop 스택 내의 다른 기능을 활용하여 로드 균형을 유지하고 오류를 처리할 수 있습니다.

Oozie는 콜백 및 풀링을 통해 작업 완료를 감지합니다. Oozie가 작업을 시작하면 작업에 고유한 콜백 HTTP URL을 제공하고 작업이 완료되면 해당 URL에 이를 알립니다. 작업이 콜백 URL을 호출하지 못하면 Oozie가 완료를 위해 작업을 폴링할 수 있습니다.

흔히 Oozie 워크플로를 정기적으로 실행해야 하지만 예측 불가능한 수준의 데이터 가용성이나 이벤트에 따라 조정해야 하는 경우도 있습니다. 이러한 상황에서 Oozie Coordinator를 사용하면 데이터, 시간 또는 이벤트 조건자 형식으로 워크플로 실행 트리거를 모델링할 수 있습니다. 이 조건자가 충족되면 워크플로 작업이 시작됩니다.

또한 Oozie Coordinator는 후속 워크플로의 결과에 따라 달라지는 여러 워크플로를 관리할 수 있습니다. 후속 워크플로의 출력은 다음 워크플로의 입력이 됩니다. 이 체인을 "데이터 애플리케이션 파이프라인"이라고 합니다.

Your form submission has failed.

This may have been caused by one of the following:

  • Your request timed out
  • A plugin/browser extension blocked the submission. If you have an ad blocking plugin please disable it and close this message to reload the page.