본문 바로가기
Database

[Airflow] MetaDB와 Executor 변경 실습

by BTC_최총무 2023. 5. 31.

베하~~

 

반갑습니다!! 인사통의 BTC_김회장, 최총무입니다.

 

지난 시간에 이어 오늘은 Airflow MetaDB와 Executor 변경 실습을 진행하겠습니다!!

 

혹시 이전 Executor에 대해 포스팅은 보지 않으신분들은 이해가 어려울 수 있으니 아래 포스팅을 먼저 확인해주세요~

 

Airflow Executor

베하~~ 안녕하십니까!! 인사통의 BTC_김회장, 최총무입니다. 이번 포스팅에서는 Airflow의 Executor에 대해서 설명드리겠습니다!! 새로운 주제인 만큼 열정을 불태워보시죠~ 개요 Airflow Executor란? Airflow

btcd.tistory.com

 

준비가 다 되셨다면 열정을 가지고 힘내서 가보시죠!!

 

개요

  • Airflow MetaDB란?
  • Airflow Executor 변경 실습

1. Airflow MetaDB란?

MetaDB는 일반 DB와 달리 특정 시스템 또는 응용 프로그램에서 사용되는 메타데이터를 저장하기 위한 데이터베이스입니다!

 

여기에서 메타데이터란 시스템이나 응용 프로그램의 작동 방식에 대한 정보를 포함하며, 종종 시스템 운영에 필요한 설정, 상태 정보, 구조적 정보 등을 저장하는 데이터에 대한 데이터라고 지난 시간에 배웠습니다~

 

그러면 Airflow의 MetaDB에는 어떤 정보가 저장되어 있을까요?

 

바로 어떤 DAG가 존재하고 어떤 태스크로 구성되었는지, 어떤 태스크가 실행 중이고, 또 실행 가능한 상태인지 등의 정보가 주로 기록되어 있답니다!! 즉, TASK가 실행되기 위한 상태정보 및 Pool, Variable, connection등의 여러 정보를 포함하고 있습니다.

MetaDB의 Database에는 다음과 같은 여러 정보가 저장됩니다.

 

이러한 MetaDB의 정보는 Airflow webserver 등을 통해 등록한 Connection, pool 등의 정보를 담고 있어 워크 플로우 실행, 작업간 데이터 교환, 변수 및 설정 값 관리 등에 사용됩니다!!


2. Airflow Executor 변경 실습

 Airflow MetaDB 변경방법까지 배웠으니 이제 Executor 변경을 할 수 있습니다!!

함께 차근차근 진행하시죠!

 

Airflow를 설치만 진행한 상태에서 시작하도록 하겠습니다.

저는 pip install --upgrade apache-airflow 명령어를 통해 2.6.1 버전으로 업그레이드 하여 진행하겠습니다!!

현재 airflow 설치 후 airflow db init만 진행한 상태입니다.

Executor 변경을 위해서는 airflow.cfg 파일을 수정해야합니다.

저는 vim 명령어를 통해 파일을 열어 수정해보도록 하겠습니다.

airflow.cfg의 30번째 줄 'executor =' 설정값이 보이시나요?

executor 설정값을 기본 sequentialExecutor에서 LocalExecutor로 수정해보겠습니다!!

수정 완료!

이대로 airflow webserver 명령어를 통해 실행하려 하면...

이렇게 SQLite는 LocalExecutor에서 사용할수 없다는 에러 메세지를 확인하실 수 있습니다!!

 

지난시간에 Executor변경 시 병렬 처리를 위해 MetaDB 변경이 필수라고 적어뒀었는데 다들 기억하고 계셨나요?😁

 

그러면 Executor 변경을 위해서 새로운 MetaDB 적용을 진행해보겠습니다!!

저는 현재 debian linux를 사용하고 있기 때문에 아래 명령으로 postgresql을 설치하겠습니다!

$ sudo apt-get update
$ sudo apt-get install postgresql postgresql-contrib

 

설치가 다 되었다면 su 명령어를 통해 설치와 함께 생성된 postgres 유저를 통해 접속 해보시죠!

sudo -i -u postgres
psql

접속이 되었다면 이런 화면이 나타납니다!

추후 연결을 위해 password를 설정해줍시다

ALTER USER <유저명> PASSWORD <'비밀번호'>; 형태

 

이제 airflow가 사용할 database를 만들어주어야 합니다!

CREATE DATABASE airflow;

생성 후 \l 혹은 \list 명령어를 통해 생성된 db를 확인할 수 있습니다!!

이제 db가 준비되었으니 airflow.cfg 파일에서 MetaDB를 지정해주면 됩니다!!

sql_alchemy_conn은 postgresql+psycopg2://username:password@localhost/dbname 의 형식으로 작성하면 됩니다.

 

여기까지 잘 따라오셨다면 기존에 있던 airflow.db를 삭제하고 airflow db init으로 다시 생성하시면 됩니다!!

이제 유저 생성 및 webserver, scheduler를 켜주시면~

이렇게 다시 airflow webserver에 접속이 되었습니다!!


이번 시간에는 MetaDB에 대한 설명과 Executor 변경을 함께 진행해보았습니다!!

 

오늘 함께한 내용은 실습이기때문에 운영 환경에서 적용하기에는 부족한 부분이 많습니다.

하지만 한번 변경 해본것만으로도 Executor와 한발 친해진것 같지 않나요?😊

 

 

 

벌써 5월이 마무리가 되었네요 날씨도 점점 더워지고 이제 충분히 여름날씨라고 말할 수 있을거 같아요!!

 

다들 몸조리 잘 하시고 다음에는 더 유용한 정보를 가지고 찾아오겠습니다!!

다음에 만나요 베빠!!!!

'Database' 카테고리의 다른 글

Composer란  (0) 2023.06.08
[Airflow] Airflow 설치 및 DAG 생성하기  (0) 2023.06.07
Windows 환경에서 Mysql8 root 패스워드 찾는법  (0) 2023.05.31
Apache Superset 사용해보기  (0) 2023.05.30
[Airflow] Airflow Xcom과 Trigger  (0) 2023.05.26

댓글