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 서비스는 이 계정으로 실행됨
•
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를 실행해보는 것
◦
이 방식의 장점은 꽤 사양이 좋은 리눅스 서버가 필요한다는 점!