반응형
Apache Airflow 설치 후 데이터베이스를 초기화하고 설정하려면 다음과 같은 절차를 따라야 합니다. Airflow는 SQLite, MySQL, PostgreSQL 등을 지원하며, 기본적으로 SQLite를 사용하지만, 프로덕션 환경에서는 MySQL이나 PostgreSQL을 사용하는 것이 권장됩니다.
1. 데이터베이스 설치 및 설정
- PostgreSQL 또는 MySQL 설치
데이터베이스가 설치되어 있지 않다면 아래 명령어를 통해 설치합니다.- PostgreSQL 설치
sudo apt update
sudo apt install postgresql postgresql-contrib
- MySQL 설치
sudo apt update
sudo apt install mysql-server
- 데이터베이스 생성
데이터베이스와 사용자 생성 후 필요한 권한을 부여합니다.- PostgreSQL
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
- MySQL
mysql -u root -p
CREATE DATABASE airflow;
CREATE USER 'airflow_user'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON airflow.* TO 'airflow_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
2. Airflow 데이터베이스 연결 설정
Airflow의 설정 파일(airflow.cfg
)에서 데이터베이스 연결 문자열을 수정합니다. sql_alchemy_conn
항목에 적절한 URI를 입력합니다.
- PostgreSQL
sql_alchemy_conn = postgresql+psycopg2://airflow_user:your_password@localhost/airflow
- MySQL
sql_alchemy_conn = mysql+pymysql://airflow_user:your_password@localhost/airflow
3. Airflow 데이터베이스 초기화
Airflow의 데이터베이스를 초기화하려면 다음 명령어를 실행합니다.
airflow db init
이 명령은 데이터베이스 테이블을 생성하고 기본 메타데이터를 설정합니다.
4. Airflow 웹서버 및 스케줄러 시작
데이터베이스가 정상적으로 초기화되었다면, Airflow 웹서버와 스케줄러를 실행하여 테스트합니다.
- 웹서버 시작:
airflow webserver
- 스케줄러 시작:
airflow scheduler
이 과정을 완료하면 Airflow가 데이터베이스를 정상적으로 사용할 수 있습니다. 추가적으로 필요한 플러그인(psycopg2
, pymysql
)은 Airflow 설치 과정에서 함께 설치하거나 직접 설치해야 합니다.
- PostgreSQL 플러그인 설치
pip install psycopg2-binary
- MySQL 플러그인 설치
pip install pymysql
반응형
'Data Mining & Distributed > Airflow' 카테고리의 다른 글
[ Airflow ] 1년에 한 번 실행 되는 DAG 설정으로 excution_date 이해하기 (0) | 2024.12.23 |
---|---|
[ Airflow ] start_date, schedule 설정하기(1년 주기) (0) | 2024.12.23 |
[ Airflow ] operator - 여러 개의 operator를 생성해서 병렬 처리 확인하는 Dag 등록하기 (1) | 2024.12.02 |
[ Airflow ] db init - PostgreSQL 과 함께 초기 설정하기 (0) | 2024.12.02 |
[ Airflow ] schedule - 일정 주기로 dag 실행하기 (0) | 2024.12.02 |