Ubuntu에서 Apache Airflow를 설치하는 방법을 단계별로 안내하겠습니다. Airflow는 워크플로우 자동화 및 스케줄링 도구로, 여러 방법으로 설치할 수 있습니다. 가장 일반적인 방법은 pip
패키지 관리자를 사용하는 것입니다.
1. Ubuntu 업데이트 및 기본 패키지 설치
먼저 시스템 패키지를 업데이트하고 필요한 도구를 설치합니다:
sudo apt update
sudo apt upgrade -y
sudo apt install -y python3 python3-pip
2. Python 가상환경 설정 (권장)
가상환경을 사용하여 Airflow와 그 종속성을 관리하는 것이 좋습니다.
sudo apt install -y python3-venv
python3 -m venv airflow-venv
source airflow-venv/bin/activate
3. Pip 최신 버전으로 업그레이드 (권장)
python3 -m pip install --upgrade pip
4. Postgresql 설치
sudo apt install postgresql postgresql-contrib
데이터 베이스 생성
sudo -u postgres psql
CREATE DATABASE airflow_db;
CREATE USER airflow_user WITH PASSWORD 'your_password';
GRANT ALL PRIVILEGES ON DATABASE airflow TO airflow_user;
\c airflow_db
GRANT USAGE, CREATE ON SCHEMA public TO airflow_user;
\q
실재 예.
CREATE DATABASE airflow;
CREATE USER admin WITH PASSWORD '12345678';
GRANT ALL PRIVILEGES ON DATABASE airflow TO admin;
\c airflow
GRANT USAGE, CREATE ON SCHEMA public TO admin;
\q
5. Dask 설치 및 실행
dask는 분산을 통해서 Airflow가 설치된 시스템 또는 작업 부하를 나누어 가질 시스템에 설치합니다.
pip install dask distributed
실행
dask-scheduler
dask-worker tcp://127.0.0.1:8786 #필요한 만큼 추가로 실행해서 scheduler에 연결한다.
dask-worker tcp://192.168.100.190:8786
6. Dask provider를 설치
airflow는 provider를 통해서 Dask와 연결됩니다.
airflow가 설치된 시스템에 설치합니다.
apache-airflow-providers-daskexecutor 1.1.1을 설치합니다.
pip install apache-airflow-providers-daskexecutor
7. Airflow 설치
- pip로 Airflow를 설치합니다. 필요한 구성 요소(예: PostgreSQL, MySQL 등)를 기반으로 설치할 수 있습니다. 기본적으로 SQLite를 사용합니다.
Airflow는 apache-airflow
라는 패키지로 제공됩니다.
pip install apache-airflow
Postgresql과 dask executor를 사용하려면 아래와 같이 설치할 수 있습니다:
pip install "apache-airflow[dask,postgres]"
설치하려는 폴더가 있을 경우 설치 전에 환경 변수를 설정해야 합니다.
AIRFLOW_HOME
환경 변수를 설정하면 Airflow가 파일을 저장할 위치를 지정할 수 있습니다. 기본값은~/airflow
입니다.
export AIRFLOW_HOME=~/airflow
8. Airflow 초기화 및 실행
기본 파일을 생성합니다.
airflow info
~/airflow 폴더 생성되고 초기 파일들이 포함되어 있습니다.
executor, cluster_address, sql_alchemy_conn 에 해당 값을 설정합니다.
[core]
executor = airflow.providers.daskexecutor.executors.dask_executor.DaskExecutor
[dask]
cluster_address = 127.0.0.1:8786 # 다른 시스템에 설치되었다면 해당 ip로 설정합니다.
[database]
sql_alchemy_conn = postgresql+psycopg2://admin:12345678@localhost/airflow
Airflow 설치 후 데이터베이스를 초기화해야 합니다.
airflow db init
9. Airflow 사용자 생성 (옵션)
Airflow 웹 서버에 접근하기 위해 관리자 사용자를 생성해야 합니다.
airflow users create \
--username admin \
--firstname Admin \
--lastname User \
--role Admin \
--email admin@example.com \
--password adminpassword
실제 예.
airflow users create \
--username admin \
--firstname Admin \
--lastname User \
--role Admin \
--email admin@example.com \
--password 12345678
10. Airflow 웹 서버 및 스케줄러 시작
Airflow 웹 서버를 백그라운드에서 실행하려면 아래 명령을 사용합니다:
airflow webserver --port 8080
스케줄러도 별도로 실행해야 합니다:
airflow scheduler
11. Airflow 웹 UI에 접속
웹 브라우저에서 http://localhost:8080
에 접속하여 Airflow 웹 UI를 사용할 수 있습니다.
이렇게 하면 Ubuntu 시스템에서 Airflow를 설정하고 실행할 수 있습니다. 필요한 추가 기능에 따라 설치할 패키지를 다르게 선택할 수 있으니, 필요에 따라 구성을 조정하세요.
12. Dask 웹 UI에 접속
웹 브라우저에서 'http://localhost:8787'에 접속해서 Dask 웹 UI를 사용할 수 있습니다.
'Data Mining & Distributed > Airflow' 카테고리의 다른 글
[ Airflow ] Dag 간에 작업 순서 연결하기 (0) | 2025.04.09 |
---|---|
[ Airflow ] task 실패처리를 위한 예외 처리하기 (0) | 2025.04.08 |
[ Airflow ] 3가지 방법으로 동시 실행 제한하기 (0) | 2025.01.02 |
[ Airflow ] max_active_runs - 동시 작업 개수 제한하기 (0) | 2025.01.02 |
[ Airflow ] concurrency - 동시 작업 개수 제한하기 (0) | 2025.01.02 |