목록Data Engineering & DataOps/Airflow (4)
without haste but without rest
DAG Runs — Airflow Documentation airflow.apache.org 에어플로우 스케줄러는 마지막 데이터 간격 이후에 실행되지 않았거나 지워진 데이터 간격부터 DAG를 실행한다. 이 컨셉을 Catchup이라고 부른다.
에어플로우 로그에 시간이 안 찍혀서 최신 로그인지 감이 오지는 않는데... 로그 상에서 이미 프로세스 아이디가 존재한다는 내역을 확인했다. airflow home 디렉토리에 있는 airflow-webserver.pid, airflow-webserver-monitor.pid, airflow-scheduler.pid 파일을 제거하고 다시 실행하니까 정상적으로 실행이 된다. 에어플로우를 데몬으로 실행하고 정상적으로 종료하지 않아서, 이미 프로세스가 실행 중으로 간주되어 발생하는 이슈다. 에어플로우를 안전하게 종료하는 방법을 찾아보자.
Running Airflow in Docker — Airflow Documentation airflow.apache.org Update History 2022.03.04 Apple Silicon - Airfow 2.0.2 버전에서 에러 발생 2.2.4 버전으로 수정 1. 설치 mkidr Airflow-Demo # step 1. yaml 파일 다운로드 curl -LfO 'https://airflow.apache.org/docs/apache-airflow/2.2.4/docker-compose.yaml' # step 2. 기본 설정 적용 docker compose up airflow-init # step 3. 도커 컴포즈 실행 docker compose up -d # step 4. 실행 확인 docker co..
Quick start — Airflow Documentation airflow.apache.org 에어플로우 퀵스타트에서 제공하는 도커 컴포즈 파일을 그대로 실행하면 'No Module name 'airflow' 라는 로그를 띄우며 airflow-init 이미지가 실행이 안 된다. 리눅스의 경우 퀵 스타트에서 아래와 같이 권한 설정을 해주는 부분이 있다. mkdir ./dags ./logs ./plugins echo -e "AIRFLOW_UID=$(id -u)\nAIRFLOW_GID=0" > .env 아래 명령어로 AIRFLOW_UID와 AIRFLOW_GID 를 확인했을 때, AIRFLOW_UID가 50000이 아닌 경우 50000으로 수정하고 재실행한다. (그룹은 안 바꿔줘도 실행에 지장 없다.) ca..