ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Airflow(celeryexecutor - docker-compose)
    데이터엔지니어링/Airflow 2023. 5. 13. 22:56

    이번엔 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개가 된 것을 볼 수있다.!

     

     

    '데이터엔지니어링 > Airflow' 카테고리의 다른 글

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