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이 제대로 실행되는 것을 볼 수 있다 !
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
명령어 실행
.env
이 새로 생성된 걸 볼 수 있음 docker-compose에서 airflow 컨테이너 초기화
docker-compose up airflow-init
docker-compose에서 airflow 실행
docker-compose up -d
로그인 창이 뜨면 username-airflow/password-airflow를 입력
docker의 airflow 클릭 -> 그 안의 files 클릭 -> home -> airflow -> data -> 만들어진 csv 파일
에서 확인할 수 있다 !