최대 1 분 소요

image


 안녕하세요 마개입니다. Airflow의 Executor를 SequentialExecutor에서 LocalExecutor로 변경을 하기 위해 Metadata 저장소로 MySQL을 선정하였습니다. 보통은 Airflow에서 PostgreSQL을 많이 사용하지만 사내에서는 이미 MySQL을 사용하고 있었기 때문에 MySQL을 지정하였습니다.


Executor를 바꾸고 Metadata 저장소를 변경하기 위해 airflow.cfg 내용을 변경해야 합니다.

1
2
3
[core]
executor = LocalExecutor
sql_alchemy_conn = mysql://USER명:PASSWORD@MySQL호스트:포트/DB

위와 같이 변경을 하고 Airflow 실행 명령어를 날리니 아래와 같은 에러가 발생하였습니다.


1
ModuleNotFoundError: No module named 'MySQLdb'

image



Airflow에서 SQL Engine을 이용하기 때문에 mysqlclient가 필요합니다. 그렇기 때문에 mysqlclient를 설치합니다.

1
pip install mysqlclient

image

설치한 후 Airflow를 다시 실행하니 정상적으로 작동합니다.