[플레이데이터] 5월 24일 수업(docker/docker compose에서 airflow 실행하기)

싱숭생숭어·2023년 5월 24일
0

플레이데이터 수업

목록 보기
9/21

docker에서 airflow 실행하기

  • docker start
    sudo service docker start

  • docker에서 airflow 설치 및 실행(run)
    docker run -it -p 8080:8080 -v /home/username/workspace/dags/:/opt/airflow/dags/ -v /etc/localtime:/etc/localtime:ro --entrypoint=/bin/bash --name airflow --privileged apache/airflow:2.6.1

  • db 초기화
    airflow db init

  • 사용자 생성
    airflow users create --username admin --password admin --firstname Anonymous --lastname Admin --role Admin --email test@test.com

  • web 가동
    airflow webserver &

  • 스케줄러 실행
    airflow scheduler &

  • 강사님이 공유폴더에 올려주신 파일 두개 다운로드
    (인프라-airflow-.py문서 두개 다운로드 받기)

  • 위에서 도커 run 할때 지정한 로컬의 dags 경로(home/username/workspace/dags/)로 .py문서 두개 복붙 !

이 사진 처럼 !

만약에 권한이 필요하다는 에러가 발생할 경우 ,,,

  • wsl창에서 home/workspace에 들어가서 sudo chown playdata dags 입력
    • 이는 dags 폴더에 권한을 주겠다 라는 의미 !
  • ls -l | grep dags : 이 명령어로는 dags의 현재 권한을 확인할 수 있음
    -> 그럼 이제 사진처럼 \home\playdata\workspace\dags\ 이 폴더에 두 다운로드 받은 파일이 복붙됨

그러고 나서 이제 주소창에 localhost:8080을 입력하면 airflow web이 제대로 실행되는 것을 볼 수 있다 !


docker-compose에서 airflow 실행하기

  • home/playdata/workspace에 airflow라는 폴더 생성
    mkdir airflow

  • airflow 디렉터리 내에 여러 디렉토리 생성
    mkdir -p ./dags ./logs ./plugins

  • 그 뒤 docker-compose 다운로드
    curl -LfO 'https://airflow.apache.org/docs/apache-airflow/2.6.1/docker-compose.yaml

  • ls -al 로 현재 airflow 디렉터리에 다운받은 docker-compose.yaml 파일 확인

  • docker-compose.yaml파일의 65번째 줄 AIRFLOW__CORE__LOAD_EXAMPLES: 'true' -> AIRFLOW__CORE__LOAD_EXAMPLES: 'false'로 변경

  • airflow/dags 폴더 안에 강사님이 주신 naver_stock.py 파일 복사

  • 현재 airflow 폴더에서
    echo -e "AIRFLOW_UID=$(id -u)\nAIRFLOW_GID=0" > .env 명령어 실행

    • airflow 디렉터리 안에 .env이 새로 생성된 걸 볼 수 있음
  • docker-compose에서 airflow 컨테이너 초기화
    docker-compose up airflow-init

  • docker-compose에서 airflow 실행
    docker-compose up -d

  • 로그인 창이 뜨면 username-airflow/password-airflow를 입력

    • 그럼 이제 naver_stock.py가 존재하는 dags 목록을 볼 수 있다 !

  • 저장된 결과 파일 확인
    trigger DAG -> 제대로 실행된 여부 확인 -> 저장된 결과 파일 확인
    • 저장된 결과는 docker의 airflow 클릭 -> 그 안의 files 클릭 -> home -> airflow -> data -> 만들어진 csv 파일 에서 확인할 수 있다 !
profile
공부합시당

0개의 댓글