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;
CREATE USER airflow\_user WITH PASSWORD 'your\_password';
GRANT ALL PRIVILEGES ON DATABASE airflow TO airflow\_user;
\\q
실재 예.
CREATE DATABASE airflow;
CREATE USER admin WITH PASSWORD '12345678';
GRANT ALL PRIVILEGES ON DATABASE airflow TO admin;
GRANT USAGE, CREATE ON SCHEMA public TO admin;
\\q
5. Dask 설치 및 실행
pip install dask distributed
실행
dask-scheduler
dask-worker tcp://127.0.0.1:8786 #필요한 만큼 추가로 실행해서 scheduler에 연결한다.
dask-worker tcp://192.168.100.190:8786
6. 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
7. Airflow 초기화 및 실행
Airflow 설치 후 데이터베이스를 초기화해야 합니다.
airflow db init
~/airflow 폴더 생성되고 초기 파일들이 포함되어 있습니다.
executor, cluster_address, sql_alchemy_conn 에 해당 값을 설정합니다.
[core]
executor = airflow.providers.daskexecutor.executors.dask_executor.DaskExecutor
[dask]
cluster_address = 127.0.0.1:8786
[database]
sql_alchemy_conn = postgresql+psycopg2://admin:12345678@localhost/airflow
8. 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
9. Airflow 웹 서버 및 스케줄러 시작
Airflow 웹 서버를 백그라운드에서 실행하려면 아래 명령을 사용합니다:
airflow webserver --port 8080
스케줄러도 별도로 실행해야 합니다:
airflow scheduler
10. Airflow 웹 UI에 접속
웹 브라우저에서 http://localhost:8080
에 접속하여 Airflow 웹 UI를 사용할 수 있습니다.
이렇게 하면 Ubuntu 시스템에서 Airflow를 설정하고 실행할 수 있습니다. 필요한 추가 기능에 따라 설치할 패키지를 다르게 선택할 수 있으니, 필요에 따라 구성을 조정하세요.
11. Dask 웹 UI에 접속
웹 브라우저에서 'http://localhost:8787'에 접속해서 Dask 웹 UI를 사용할 수 있습니다.
'Data Mining & Distributed > Airflow' 카테고리의 다른 글
[ Airflow ] 3가지 방법으로 동시 실행 제한하기 (0) | 2025.01.02 |
---|---|
[ Airflow ] max_active_runs - 동시 작업 개수 제한하기 (0) | 2025.01.02 |
[ Airflow ] concurrency - 동시 작업 개수 제한하기 (0) | 2025.01.02 |
[ Airflow ] task_concurrency - 동일 작업 개수 제한하기 (0) | 2025.01.02 |
[ Airflow ] RestAPI 사용하기 (0) | 2024.12.31 |