Airflow 설치 방법2

yoon__0_0·2024년 7월 19일
0

이어드림 수업

목록 보기
98/103

예전 Airflow 설치는 Docker로 설치를 함.
지금은 그냥 server에 설치하는 방식.

  • server2 에서 설치 및 실행

1) 파이썬 버전 확인

pyenv activ echo $(python -c 'import sys; print(f"{sys.version_info.major}.{sys.version_info.minor}")')

3.11

2) 설치 명령어

AIRFLOW_VERSION=2.9.1

PYTHON_VERSION="$(python -c 'import sys; print(f"{sys.version_info.major}.{sys.version_info.minor}")')"
 CONSTRAINT_URL="https://raw.githubusercontent.com/apache/airflow/constraints-${AIRFLOW_VERSION}/constraints-${PYTHON_VERSION}.txt"

pip install "apache-airflow[async,postgres]==${AIRFLOW_VERSION}" --constraint "${CONSTRAINT_URL}"

3) 기존 디렉토리 설정

  • 디렉토리 설정
mkdir airflow
  • 환경변수 설정
vi ~/.bashrc

---
# 맨 아래에 추가 
export AIRFLOW_HOME=/home/ubuntu/airflow
---

4) airflow db 초기화

  • 다른 DB와 연동해서 사용할 수 있지만, 기본인 sqllite 활용
 airflow db init

5) 유저 생성

airflow users create --username admin --firstname Admin --lastname User --role 
Admin --email admin@example.com --password admin

6) airflow web서버 실행

  • background 로 실행 : &
  • 세션을 종료해도 다시 실행 : nohub
nohup airflow webserver --port 8880 > ~/airflow/logs/webserver.log 2>&1 &

ps -ef | grep airflow 

7) 스케줄러 실행

nohup airflow scheduler > ~/airflow/logs/scheduler.log 2>&1 &

8) 웹으로 들어가기 위해 보안그룹 열어주기

  • 위에서 8880 port를 사용한다고 했기 때문에 ec2 에서 8080 포트 열어주기

9) airflow 웹으로 들어가기

  • 크롬에 server2_ip:8880 으로 들어가면 airflow 로그인 창이 나타나야함.
  • 거기에 admin, admin 을 적어주면 (위에서 우리가 설정함) airflow로 들어갈 수 있음.

10) 예제파일 없애기.

vi ~/airflow/airflow.cfg

# 아래부분 수정
---
load_examples = False
---

11) DAG 생성을 위한 폴더 생성

  • 기본 dag 스크립트 파일을 어디에 넣어야하는지 확인
 head -n 10 airflow.cfg

  • 이 폴더를 생성해주기
mkdir /home/ubuntu/airflow/dags

12) Postgresql 과 연동

  • Admin -> connections -> Add

  • 값 채워주기

profile
신윤재입니다

0개의 댓글