본문 바로가기
Apache/Airflow

Airflow(celeryexecutor - docker-compose)

by 잼있는잼니 2023. 5. 13.

이번엔 Docker를 이용한 Celeryexecutor 배포를 구현

아나콘다를 이용했다.

 

우선, 도커를 설치해야한다.


sudo apt-get update

위와 같은 명령어를 입력해 업그레이드 시키기


sudo apt-get docker

위 명령어를 이용해 도커를 설치해준다.


 

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

Docker's gpg 키 추가하기 위해 위의 순서로 진행한다.


 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

위 코드로 Docker 레포지토리 세팅한다.


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

docker engine을 apt-get을 이용하여 설치하기위해 위 순서로 코드를 입력한다.


sudo docker run hello-world

docker run으로 hello-world를 치면, Hello from Docker! 가 나온다.

이는, Docker engine이 잘 설치된 것!!


이제, Docker-compose를 설치

sudo apt install docker-compose

docker-compose를 설치한다.


curl -LfO 'https://airflow.apache.org/docs/apache-airflow/2.6.0/docker-compose.yaml'

위의 명령어를 이용해 docker-compose.yaml 파일을 받아온다.

그럼 docker-compose.yaml이 설치된걸 볼 수 있다.


mkdir ./dags ./logs ./data ./plugins
echo -e "AIRFLOW_UID=$(id -u)\nAIRFLOW_GID=0" > .env

airflow에서 사용할 디렉토리 설정한다. 이 디렉토리는 컨테이너의 볼륨으로 마운트가 되며, DAG를 개발하고 컨테이너에 넣어줄 필요없이, dags 폴더에 DAG 파일을 넣어주기만 하면 된다!


docker compose up airflow-init

 

 

위의 명령어로 공통환경을 잡아주기!


sudo docker-compose up -d

위의 명령어를 입력하면 docker-compose.yaml 파일에 있는 설정으로 다음과 같이 이미지가 만들어 지고, 배포가 되는 것을 볼 수 있다!

야호야호 성공!

다만 보게되면, flower가 존재하지 않는 것을 볼 수 있는데, 아래의 명령어를 입력하면 된다.

sudo docker compose --profile flower up

아래는 백그라운드에 실행시!
sudo docker compose --profile flower up -d

good


그렇다면 3개의 worker를 쓰고싶을때?? 아래의 명령어를 입력하면 된다.

sudo docker-compose up --scale airflow-worker=3

아래는 백그라운드에 실행시!
sudo docker-compose up -d --scale airflow-worker=3

 잘 구동이 되어 있는 걸 볼 수 있다!


CeleryExecutor로 worker가 3개가 된 것을 볼 수있다.!

 

 

'Apache > Airflow' 카테고리의 다른 글

GCP VM으로 Airflow 구축하기  (0) 2023.06.04
Airflow-(celeryexecutor)  (0) 2023.05.07
Airflow 간단 개념  (0) 2023.05.03

댓글