파이썬 로직으로 구동되는 Airflow 설치 과정을 공유하겠습니다.
환경 : ubuntu 20.04, python 3.8, airflow 1.10
ubuntu 20.04 여야 한다. airflow 1.10 버전은 python 3.8까지만 지원한다.
ubuntu 20.04는 python3버전 패키지가 기본이다.
ubuntu 22이상 버전은 python 10 버전을 기본 패키지인데. airflow 1.10 버전을 지원하지 않고 2 버전 이상대를 지원한다.
현재 현업에서는 1.10버전이 ui적으로 좀 더 보기 편해 1.10 버전을 많이 사용하고.
2 버전이더라도 사용성과 호환성은 같다.
1. (선택) python 가상 환경 생성
기존 python 환경에 영향이 없도록 별도의 가상 환경을 생성하여 사용할 것이다. 이 부분은 선택 사항이다.
# 가상 환경 생성
python3 -m venv ./airflow
# 활성화
source airflow/bin/activate
Python 가상 환경 virtualenv/venv 참고
2022.07.21 - [python3] venv 사용
2021.06.25 - [CentOS 7] virtualenv 설치 및 사용
2. Airflow 홈 디렉터리 설정
mkdir ~/airflow
export AIRFLOW_HOME=~/airflow
3. Airflow 버전, Python 버전 설정
AIRFLOW_VERSION=1.10.14
PYTHON_VERSION="$(python --version | cut -d " " -f 2 | cut -d "." -f 1-2)"
4. Airflow 설치 파일 경로 선언
CONSTRAINT_URL="https://raw.githubusercontent.com/apache/airflow/constraints-${AIRFLOW_VERSION}/constraints-${PYTHON_VERSION}.txt"
5. Airflow 설치
pip install "apache-airflow==${AIRFLOW_VERSION}" --constraint "${CONSTRAINT_URL}"
+ ERROR: Failed building wheel for blinker 에러 발생 시
내 경우, wheel 명령어가 설치되어 있지 않아 발생한 것 같다. pip로 설치하여 해결했다.
sudo apt install python3-pip
pip install wheel
6. 설치 확인
airflow version
Airflow 실행
airflow 2 버전과 다르게 standalone 명령이 없다. 따라서 아래와 같은 절차를 따라야 한다.
# 데이터베이스 초기화
airflow initdb
# 웹 서버 시작
airflow webserver --port 8081 -D
# --port : 포트 지정
# -D : 백그라운드로 실행
# 스케쥴러 시작
airflow scheduler -D
웹 서버가 8081 포트를 사용하도록 설정했으므로, IP:8081 주소를 웹 브라우저에 입력하여 접근할 수 있다. 2 버전과 다르게 로그인을 요구하지 않는다.
'Programming > Python' 카테고리의 다른 글
ChatGPT와 Slack 연동 (1) | 2023.05.17 |
---|---|
[Python] Pycham을 이용해 AWS EC2 인스턴스 만들기 (0) | 2023.01.12 |
[Python] pandas csv 생성 (0) | 2022.12.15 |
[Python] 함수와 를 활용한 코드 분석 (0) | 2022.12.14 |
[Python] 언어는 반복 작업을 하기 위한 도구이다 (0) | 2022.12.13 |
댓글