새소식

[5분 내로] 강의실/📋 Airflow 도입하기

🏅5분 내로 Airflow를 설치해보자!

728x90

🔥 Airflow 설치 요구사항

👉 아래의 요구사항을 철저히 따라주세요!

- 메모리 4GB 이상

- Python : 3.8 버전 이상

- Databases: PostgreSQL: 12 버전 이상
- MySQL: 8.0
- SQLite: 3.15.0+

 

따라서, postgres나 mysql 외 다른 dbms 사용하시면 안됩니다. Oracle, Mssql 심지어 Mariadb도 사용 금지입니다. 그런 DBMS를 사용하시면, 현시점을 기준으로 HA(이중화) 구성도 안되고 교착 장애가 발생한다고 공식홈페이지에 기술되어 있습니다.

🔥 포스팅을 읽기 전, 사전 준비 사항?

👉 우분투를 준비해주세요!
- 윈도우에 VMware 설치

- 설치된 ubuntu 23.01 LTS 설치

※ 어쨌든 우분투를 준비해주시면 됨

 

👉 우분투에 Python3.x을 설치해주세요!

- 설치 방법은 아래의 포스팅으로 대체합니다.

https://doctorson0309.tistory.com/1168

 

👉 우분투에 MYSQL8.0을 설치해주세요!

- 설치 방법은 아래의 포스팅으로 대체합니다.

https://doctorson0309.tistory.com/1167

 

공식 홈페이지에서 설치 매뉴얼이 있긴합니다.

근데, 공식 홈페이지의 매뉴얼만 봐서는 정상적인 설치가 불가능합니다. 좀 황당하죠 ㅎㅎ;

 

따라서 이 강의를 준비하였습니다.

저를 따라 5분 내로 Airflow를 설치해봅시다.

🎯 본격적으로 Airflow 설치하기

👉 아래에 기술된 명령어를 순서대로 리눅스에서 잘 실행해주세요!

리눅스를 깨끗한 상태로 시작해주세요! 다른 포스팅 보시고 이것저것 까신 다음에 아래 명령어 입력하면 당연히 안됩니당 :)

 

1. Update & install necessary tools

$sudo apt-get install vim
$sudo apt update && sudo apt upgrade
$sudo apt install python3
$sudo apt install python3-pip
$sudo apt-get install software-properties-common
$sudo apt-add-repository universe
$sudo apt-get update
$sudo apt-get install python-setuptools
$sudo apt-get install libmysqlclient-dev
$sudo apt-get install libssl-dev
$sudo apt-get install libkrb5-dev
$sudo pip3 install virtualenv
$sudo pip3 install apache-airflow[kubernetes]
$sudo pip3 install connexion[swagger-ui]
$sudo pip3 install apache-airflow[postgres,google]==2.1.2 \
 --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-2.1.2/constraints-3.7.txt"
 $sudo pip3 install apache-airflow-providers-common-io[openlineage]


2. Install Airflow

$export AIRFLOW_HOME=~/airflow
$sudo pip3 install apache-airflow
$sudo pip3 install typing_extensions
$pip3 install setuptools_rust
$pip3 install apache-airflow

 

3. DB Client 설치

$apt install pkg-config
$pkg-config --exists mysqlclient
$pip3 install mysqlclient

 

4. 잘하고 있는지 점검

cd ~/airflow

아래의 명령어를 입력하여 airflow.cfg가 존재하면 정상적으로 설치 중입니다.

 

참고로, 현재 Airflow에 연결된 SQLite는 운영 환경에선 쓸 수 없는 테스트용 DB입니다.

SQLite 설치해서 잘 되는지 봐도 되는데.. 그런건 교육용에 불과합니다. 의미 없습니다.

 

바로. 당장. Airflow를 운영 환경에 쓸 수 있도록 DBMS를 교체하겠습니다.

 

5. cfg 내 DB 접속 정보 변경

vi airflow.cfg

 

해당 파일 내  sql_alchemy라는 옵션을 찾으면

SQL_LITE에 대한 DB 접속 정보가 설정되어 있을 것입니다. 그것을 아래와 같이 변경하시면 됩니다.

참고로 저는 airflow_db라는 테이블스페이스를 만들었고, root 계정으로 접속할 것입니다.

그런 경우 아래와 같이 입력하시면 됩니다.

mysql+mysqldb://root:airflowA1!@localhost:3306/airflow_db

 

6. Run Airflow

실제로 잘 실행되는지 봅시다.

터미널에서 아래의 명령어 실행!

airflow standalone

 

7. Create an Airflow User

airflow users create -u airflow -f han -l jin -e test@naver.com -r Admin -p airflow

아이디 : airflow

비밀번호 : airflow

로 계정을 하나 만들고 거기에 권한을 Admin 급으로 준다는 명령어입니다.

🏆 Result

👉 아래의 URL에 접속하여 정상적으로 Airflow가 실행되었는지 점검합니다.

 

1. URL 접속

http://localhost:8080/

 

2. 로그인

접속하신 후 로그인 하시면 아래와 같은 화면을 보실 수 있습니다.

 

Airflow의 좋은 점은 Airflow 버전이 올라가면
종속 라이브러리도 같이 업데이트해준다는 점입니다.
때문에, 어떤 이유에서 종속 라이브러리를 업데이트할 일이 있으면

개별개별로 업데이트하시지 마시고
Airflow를 그냥 최신 버전으로 맞추는 것을 고려하는 것이 좋습니다.

 

 

If I was of any help to you, please buy me coffee 😿😢😥

If you have any questions, please leave them in the comments

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.