Welcome! πŸ™‹β€β™‚οΈ View more

Engineering πŸ’»/BigData

[Hadoop] μ˜€μΌ€μŠ€νŠΈλ ˆμ΄μ…˜ (feat. Oozie, Airflow)

DeepFlame 2022. 1. 13. 19:10

 

데이터 μΆ”μΆœ 배치 μž‘μ—…κ³Ό 데이터 뢄석 νŒŒμ΄ν”„λΌμΈμ€ 독립적인 μ—¬λŸ¬ λ‹¨κ³„λ‘œ κ΅¬μ„±λ˜μ–΄μžˆμœΌλ©°, 각 λ‹¨κ³„λ§ˆλ‹€ λ‹€λ₯Έ 기술이 μ‚¬μš©λ  수 μžˆλ‹€. 

이런 νŒŒμ΄ν”„λΌμΈ μž‘μ—…μ— λŒ€ν•œ μ˜€μΌ€μŠ€νŠΈλ ˆμ΄μ…˜ 및 μŠ€μΌ€μ€„λ§κ³Ό 같은 λ³΅μž‘ν•œ μƒν˜Έ 의쑴 관계λ₯Ό λ‚˜νƒ€λ‚Ό 방법이 ν•„μš”ν•˜λ‹€.

 

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