Apache Airflow는 워크플로우 자동화 및 스케줄링을 위한 오픈소스 툴로, 주로 데이터 엔지니어링 및 파이프라인 작업에서 많이 사용됩니다. Airflow를 설치하는 방법은 여러 가지가 있지만, 일반적으로 가장 많이 사용하는 방법은 pip
을 이용한 설치입니다. 아래는 Python 환경에서 Airflow를 설치하는 방법입니다.
1. Python 및 pip 설치 확인
Airflow는 Python으로 작성된 도구이기 때문에 Python 3.7 이상이 필요합니다. 먼저, Python 및 pip가 설치되어 있는지 확인하세요.
python --version
pip --version
2. 가상환경 생성 (권장)
다른 Python 패키지들과의 충돌을 방지하기 위해 가상환경을 사용하는 것이 좋습니다.
# 가상환경 생성
python -m venv airflow-env
# 가상환경 활성화
# Linux/MacOS
source airflow-env/bin/activate
# Windows
airflow-env\Scripts\activate
3. Airflow 설치
Airflow는 다양한 추가 기능과 플러그인을 제공하는데, 이 중 필요한 패키지를 선택하여 설치할 수 있습니다. 예를 들어, postgres
, google
, aws
등 특정 클라우드나 데이터베이스와의 통합 기능을 포함할 수 있습니다.
기본 설치 패키지입니다.
- .Ubuntu
sudo apt-get update -y
sudo apt-get install -y python3-dev libmysqlclient-dev libssl-dev libffi-dev build-essential
- RHEL
sudo yum update -y
sudo yum install -y python3 python3-devel gcc gcc-c++ libffi-devel \
libpq-devel mariadb-devel libxml2-devel libxslt-devel \
openssl-devel
Airflow의 기본 설치는 아래와 같습니다.
# 설치할 때 AIRFLOW_HOME과 같은 환경 변수를 미리 설정해야 합니다.
# 설정하지 않으면 default로 ~/airflow에 설치됩니다.
export AIRFLOW_HOME=~/airflow
# Airflow의 특정 버전을 설치하려면 추가적으로 제어할 수 있습니다.
pip install "apache-airflow==2.6.3" --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-2.6.3/constraints-3.7.txt"
Airflow 설치 시 추가 패키지를 함께 설치하려면 [extras]
옵션을 사용합니다. 예를 들어, MySQL과 Redis를 함께 설치하려면 아래와 같이 입력합니다.
pip install "apache-airflow[mysql,redis]"
4. 초기화 및 웹 서버 실행
Airflow는 실행 전에 데이터베이스를 초기화해야 합니다.
# 데이터베이스 초기화
airflow db init
# 관리 사용자 생성
airflow users create \
--username admin \
--firstname FIRST_NAME \
--lastname LAST_NAME \
--role Admin \
--email admin@example.com
# 웹 서버 시작
airflow webserver --port 8080
5. 스케줄러 실행
Airflow는 DAG(Directed Acyclic Graph)를 기반으로 워크플로우를 실행합니다. 이때 워크플로우를 주기적으로 실행하기 위해 스케줄러를 실행해야 합니다.
airflow scheduler
6. Airflow 대시보드 접속
웹 서버를 실행한 후 브라우저에서 http://localhost:8080
에 접속하여 Airflow UI에 로그인할 수 있습니다.
이 방법을 통해 Apache Airflow를 설치하고 실행할 수 있습니다.
'Data Mining > Airflow' 카테고리의 다른 글
[ Airflow ] Celery, Ray - 비교 설명하기 (0) | 2024.11.16 |
---|---|
[ Airflow ] Airflow 설치하기 - Ubuntu (0) | 2024.10.15 |
[ Airflow ] dag 파일 등록하기 (0) | 2024.10.11 |
[ Airflow ] 외부에서 대시보드 접속하기 (0) | 2024.10.11 |
[ Airflow ] Task Status 상태의 종류와 의미 (0) | 2024.10.01 |