Developers Haven

(DH)블로그는 개발자들이 기술 정보를 찾아볼 수 있는 안식처가 되고 싶음을 희망하여 시작하게 되었습니다. 공부한 내용과 성장 과정을 기록해두었으니 편히 둘러보시길 바랍니다.

Welcome to DH's Blog

[기술공부]/Apache Airflow

Airflow 사전 준비 - WSL Linux / Docker / Airflow 설치

DH’s Blog 2024. 1. 12. 16:55
반응형

 

 

 

 

Apache Airflow는 데이터 추출, 가공, 저장 분석 등을 처리할 수 있는 Pipeline을 만들고 관리할 수 있는 하나의 솔루션이다. 실제 현업에서 많이 쓰이는 솔루션 중 하나이며, Python 언어로 개발하는 것이 특징이다. 평소 Pipeline을 만드는 것에 대한 관심이 있어 Apache Airflow 공부를 시작하게 되었다. 이번 시간에는 본격적인 Airflow 사용을 위한 준비 단계를 정리해보려한다.

 

 

준비1. WSL을 이용하여 Windows에서 Linux 설치하기

step1) Windows PowerShell [관리자 권한으로 실행]

wsl --install
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

 

 

step2) Windows 재부팅 후 기능 설치 → user name, password 설정

 

 

 

 

 

 


준비2. Ubuntu에서 Docker Engine 설치하기

step1) (만약 이전에 설치한 적이 있다면) old version의 docker 제거 후 필요한 repository 설치

# Uninstall old versions
sudo apt-get remove docker docker-engine docker.io containerd runc

# Add Docker's official GPG key
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

 

 

step2) docker 설치하기

# Install docker
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

 

 

step3) docker 실행하기 

# Run docker
sudo service docker start

# Test
sudo docker run hello-world

 

docker 실행 후, Test 명령 실행 결과가 아래와 같다면 docker 설치까지 모두 완료된 것이다.

 

 

 

 

 


준비3. Airflow 설치

step1) Airflow 셋팅

# Fetching docker-compose.yaml
curl -LfO 'https://airflow.apache.org/docs/apache-airflow/2.8.0/docker-compose.yaml'

# Setting the Airflow
# make directories
mkdir -p ./dags ./logs ./plugins ./config

# set Airflow UID and Confirm
echo -e "AIRFLOW_UID=$(id -u)" > .env
vi .env

 

 

vi .env 명령으로 .env 파일을 열었을 때 아래와 같이 AIRFLOW_UID에 대한 정보가 나와있으면 셋팅 부분도 모두 완료된 것이다. (참고로 vi는 Linux, Unix에서 사용되는 편집기 명령어이며, vi를 수정하지 않고 단순 종료하기 위해서는 :q! 명령으로 빠져나오면 된다)

 

vi .env 결과

 

 

step2) DB 설치 및 Airflow 실행

# Initialize the database
sudo docker compose up airflow-init

# Running Airflow
sudo docker compose up

 

 

step3) Docker 서비스 정상적으로 올라왔는지 확인

주의할 점은 현재 Docker 실행중인 창은 유지하고, 새로운 WSL 창을 띄워서 확인해야 한다. (참고로 WSL은 [관리자 권한으로 실행]해야 된다)

sudo docker ps

 

 

확인 결과, 아래와 같이 6개의 컨테이너가 올라와있으면 모두 완료한 것이다. (아래 내용은 컨테이너ID / 사용한 이미지 / 컨테이너 생성 시간 및 상태 / 포트 / 컨테이너명을 의미한다)

 

 

 

step4) Airflow 서비스 접속해보기 (http://localhost:8080/)

해당 UI로 접속했을 때 Airflow 페이지가 열린다면 완료된 것으로, 처음 설치시 사용되는 username, pw는 airflow / airflow 이며 추후 본인이 원하는 대로 수정하면 된다.

 

 

 

 

 

 

 

이번 시간은 WSL을 이용하여 Docker와 Airflow를 설치하는 과정을 진행해보았다. 다음 시간에는 Airflow 사용을 위한 Python 설치 및 venv 환경 설정에 대해서 배워보도록 하자.

 

 

(참고)
WSL 설치 참고 : https://learn.microsoft.com/ko-kr/windows/wsl/install
Docker Engine 설치 참고 : https://docs.docker.com/engine/install/ubuntu/
Airflow 설치 참고 : https://airflow.apache.org/docs/apache-airflow/stable/howto/docker-compose/index.html
전체 내용 참고 : 인프런 - Airflow 마스터 클래스

 

반응형