Search

Airflow 설치 방법

Airflow 설치 방법

직접 설치하고 운영
우리가 사용할 방법이다.
클라우드 사용 (프로덕션 환경에서 선호된다)
AWS: MWAA (Managed Workflows for Apache Airflow) 사용
구글 클라우드: Cloud Composer 사용
Microsoft Azure: Azure Data Factory에 Airflow DAGs 기능 존재

AWS 설치 - EC2 사용

실습 인스턴스 : 우분투 20.04 사용
AWS EC2 t3.small나 t3a.small 인스턴스를 사용할 예정
2 CPU, 2 GB Memory, 8GB SSD Disk 사용
AWS 계정 필요
위 인스턴스 타입은 Free Tier가 아니기에 비용이 발생함을 인지
t3.small 인스턴스의 경우 한달 비용이 $18.72
t3a.small 인스턴스의 경우 한달 비용이 $16.85
가능하면 실제 개발 실습은 Docker 환경을 사용하는 것이 비용적인 측면에서는 이득
리눅스 기본 이해하기
우분투 (ubuntu): 리눅스 타입 중의 하나. 다른 타입은 데비안, 레드햇, 페도라, ...
ssh: 리눅스 혹은 유닉스 서버에 로그인해주는 프로그램 (터미널)
private key와 public key를 사용
sudo: 보통 슈퍼유저로서 프로그램을 구동할 수 있도록 하는 프로그램이다.
apt-get: 우분투/데비안 계열의 리눅스에서 프로그램 설치/삭제를 관리해주는 프로그램
apt-get update, apt-get install
su: substitue user의 약자로 현재 사용 중인 사용자 계정을 로그아웃하지 않고 다른 사용자의 권한을 얻을 때 사용한다
vi: 텍스트 에디터. https://withcoding.com/112

Airflow 2.5.1 Installation

최신 안정 버전을 찾아서 2.5.1을 적절히 변경해서 실행하길 권장
설치 전체 과정
Airflow 메타데이터베이스로 로컬 서버에 Postgres를 설치할 예정
Airflow는 /var/lib/airflow/ 밑에 설치됨
Airflow 서버에 총 3개의 어카운트가 사용됨
ubuntu: 메인 어카운트
postgres: (postgres 설치시 만들어지는 계정)
이 계정을 이용해 postgres 액세스를 위한 airflow 계정을 별도로 생성
airflow: Airflow용 어카운트. Airflow 서비스는 이 계정으로 실행됨
설치 시작
설치 링크 : 참고 링크
AWS EC2 서버 론치
Airflow 2.5.1 설치
Airflow 웹 UI 접근

Docker Engine - Airflow 설치

Docker Engine 실행과 리소스 점검
Airflow 설치 - 도커 사용
Docker를 실행하고 설정 메뉴에서 Resources를 선택하고 메모리 할당 부분을 체크
맥에서는 4GB가 필요
윈도우에서는 6GB가 필요
Docker 기반 Airflow 실행
Docker 기반 Airflow 설치 문서 참조
먼저 터미널 프로그램을 실행하고 적당한 폴더로 이동
airflow-setup Github repo를 클론
airflow-setup 폴더로 이동하고 2.5.1 이미지 관련 yml 파일 다운로드
cd airflow-setup
다음 2개의 명령을 수행 (이미지 다운로드와 컨테이너 실행)
docker-compose -f docker-compose.yaml pull
docker-compose -f docker-compose.yaml up
http://localhost:8080으로 웹 UI 로그인
airflow:airflow 사용
외부로 노출될 경우, 반드시 별도의 계정 생성할 것
Airflow Docker 구성
실습: 맥에서 Docker로 Airflow 실행하기
앞서 설명한 내용을 맥 기반으로 데모
제일 좋은 방법은 리눅스 서버 위에 Docker Container로 Airflow를 실행해보는 것
이 방식의 장점은 꽤 사양이 좋은 리눅스 서버가 필요한다는 점!