본문 바로가기

Data Mining & Distributed/Airflow

[ Airflow ] ubuntu + Airflow + postgresql + dask - 설치하기

반응형

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를 사용할 수 있습니다.

반응형