[Hadoop] 오케스트레이션 (feat. Oozie, Airflow)

2022. 1. 13. 19:10·Engineering/BigData

 

데이터 추출 배치 작업과 데이터 분석 파이프라인은 독립적인 여러 단계로 구성되어있으며, 각 단계마다 다른 기술이 사용될 수 있다. 

이런 파이프라인 작업에 대한 오케스트레이션 및 스케줄링과 같은 복잡한 상호 의존 관계를 나타낼 방법이 필요하다.

 

Oozie


하둡에서 사용되는 작업 스케줄링 및 실행 프레임워크이다. 

우지서버는 하둡 작업을 직접 실행하지 않고, 하둡 클러스터에 맡기는 아키텍처 덕분에 가볍다 따라서 수백 개의 액션을 동시에 쉽게 실행할 수 있다.

 

출처: https://seamless.tistory.com/31

프로세스

  1. Client: XML 파일로 정의된 작업을 제출한다. 처리 과정이 플로우 차트와 비슷하다고 볼 수 있다. 
  2. Workflow Engine: 기본 실행단위인 액션을 구성하고, 연쇄적으로 함께 실행돼야 하는 액션을 묶어 워크플로우를 구성한다.
  3. Scheduler: 구성된 워크플로우는 코디네이터를 통해서 스케줄링된다. 또한 관련있는 여러 코디네이터를 번들로 그룹지어 정해진 시간에 실행할 수 있다.

작업 정의와 관련된 모든 파일과 라이브러리는 반드시 HDFS에 저장한다.
(action, workflow, coordinator details, bundles 등)

 

 

 

Airflow


Python 코드로 워크플로우를 작성하고, 스케줄링, 모니터링하는 플랫폼이다.

출처: https://airflow.apache.org/docs/apache-airflow/stable/concepts/overview.html

 

워크플로우는 DAG(비순환 방향 그래프) 형태로 나타나고, DAG를 통해 실행하고 싶은 Task들의 관계와 종속성을 표현할 수 있다.
따라서 DAG를 정확히 설정해야 Task를 원하는 대로 스케줄링하고, 실행할 수 있다.

출처: https://airflow.apache.org/docs/apache-airflow/stable/concepts/overview.html

 

출처: https://airflow.apache.org/docs/apache-airflow/stable/concepts/overview.html

구성요소

  1. Scheduler: 실행해야할 Task를 스케줄링하고, Executor로 작업을 제출한다.
  2. Executor: Task를 Worker로 푸시하여 작업을 실행시킨다.
  3. Webserver: DAG 및 Task 동작을 트리거/검사/디버그할 수 있는 사용자 인터페이스 웹서버
  4. DAG Directory: Scheduler와 Executor가 읽는 DAG 파일의 폴더
  5. Metadata DB: Scheduler, Executor, Webserver의 상태를 저장하는 DB

 

 

 

 


해당 내용은 다음 책을 참고했습니다.

엔터프라이즈 데이터 플랫폼 구축 

 

엔터프라이즈 데이터 플랫폼 구축 - YES24

자체 시스템부터 클라우드까지 엔터프라이즈 하둡과 빅데이터 플랫폼 운영, 구축, 설계의 모든 것빅데이터 기술에 대한 정보는 넘쳐나지만 이 모든 기술을 매끄럽게 연결해서 완벽한 엔터프라

www.yes24.com

 

'Engineering > BigData' 카테고리의 다른 글

[Spark] Exception while deleting Spark temp dir 에러 해결  (0) 2022.02.18
[Hadoop] Spark 동작 단계  (0) 2022.01.18
[Hadooop] 분석용 SQL 엔진 (feat. Hive, Impala, Presto)  (0) 2022.01.12
[Hadoop] 연산 프레임워크 (feat. MapReduce, Spark, Flink)  (0) 2022.01.11
[Hadoop] 핵심 컴포넌트 (feat. HDFS, YARN, ZooKeeper, Hive Metastore)  (0) 2022.01.11
'Engineering/BigData' 카테고리의 다른 글
  • [Spark] Exception while deleting Spark temp dir 에러 해결
  • [Hadoop] Spark 동작 단계
  • [Hadooop] 분석용 SQL 엔진 (feat. Hive, Impala, Presto)
  • [Hadoop] 연산 프레임워크 (feat. MapReduce, Spark, Flink)
AI건축가
AI건축가
LLMOps Engineer로 커리어를 쌓고 있습니다. 저만의 시점으로 AI를 해석하고자 노력합니다. 함께 배우고 성장하는 공간이 되었으면 좋겠습니다. 😊🚀
  • AI건축가
    DeepFlame AI
    AI건축가
  • 전체
    오늘
    어제
    • 분류 전체보기
      • AI
      • Ops
      • Engineering
        • Algorithm
        • CS
        • BigData
        • Tools
      • Personal
        • Toy Project
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    deepseek
    세미나
    mlops
    PostgreSQL
    Bio
    airflow
    ec2
    hadoop
    scala
    Hive
    DP
    Ai
    Python
    kubernetes
    algorithm
    Cloud
    AWS
    db
    mongoDB
    LeetCode
    MSA
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
AI건축가
[Hadoop] 오케스트레이션 (feat. Oozie, Airflow)
상단으로

티스토리툴바