airflow/환경설정 (mac)

Mac 로컬 환경에서 airflow 설치방법

효짱이_ 2025. 2. 25. 00:45

환경 : mac M3

1️⃣ Homebrew 설치 (필수)

Homebrew는 macOS에서 패키지를 쉽게 설치할 수 있도록 해주는 필수 도구입니다.

📌 Homebrew 설치

터미널을 열고 다음 명령어 실행:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
 
 

설치 완료 후, 터미널을 다시 열고 설치 확인:

brew -v

출력 예시:

Homebrew 4.x.x
 
 
* 트러블 슈팅 : zsh: command not found: brew

1. Homebrew가 설치되어 있는지 확인

먼저 Homebrew가 설치되어 있는지 확인합니다.

 
ls -l /opt/homebrew/bin/brew

출력 결과 확인

 설치됨 (정상적인 경우)

-rwxr-xr-x 1 user staff 123456 Jan 1 12:00 /opt/homebrew/bin/brew

2.  PATH 설정 (설치 후 brew 명령어 인식 안 될 때)

Homebrew가 설치된 후에도 brew 명령어를 찾을 수 없는 경우, 환경 변수(PATH) 설정이 필요합니다.

✅ Mac M1/M2/M3 (Apple Silicon)

M3 Mac은 Apple Silicon 기반이므로 다음 명령어를 실행하세요.

echo 'export PATH="/opt/homebrew/bin:$PATH"' >> ~/.zshrc source ~/.zshrc

2️⃣ Python 3.9+ 설치

Apache Airflow는 Python 3.9 이상에서 동작하므로 최신 버전을 설치합니다.

📌 Python 설치

bash
복사편집
brew install python@3.10

설치된 Python을 기본 사용하도록 설정:

bash
복사편집
echo 'export PATH="/opt/homebrew/bin:$PATH"' >> ~/.zshrc source ~/.zshrc

Python 버전 확인:

bash
복사편집
python3 --version

출력 예시:

nginx
복사편집
Python 3.10.x

3️⃣ 가상환경(Virtual Environment) 설정

Airflow는 가상환경에서 실행하는 것이 좋습니다.

📌 venv 가상환경 생성

bash
복사편집
python3 -m venv airflow_venv

📌 가상환경 활성화

bash
복사편집
source airflow_venv/bin/activate

(터미널에 (airflow_venv)가 표시되면 가상환경이 활성화된 상태)

가상환경 내 Python 버전 확인:

bash
복사편집
python --version

출력 예시:

nginx
복사편집
Python 3.10.x

4️⃣ Airflow 패키지 설치

📌 PIP 최신화

bash
복사편집
pip install --upgrade pip

📌 Airflow 설치

bash
복사편집
pip install "apache-airflow[celery]==2.7.3" --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-2.7.3/constraints-3.10.txt"
  • 2.7.3은 현재 최신 안정 버전.
  • celery 포함 (sqlite가 아닌 celery 실행을 고려할 경우 필요).

📌 Airflow 홈 디렉토리 설정

mkdir -p ~/airflow 
echo 'export AIRFLOW_HOME=~/airflow' >> ~/.zshrc 
source ~/.zshrc
 
 

설치가 완료되면 버전 확인:

airflow version

출력 예시:

복사편집
2.7.3

5️⃣ Airflow 초기 설정

Airflow는 작업을 실행할 기본 디렉토리가 필요합니다.

📌 Airflow 데이터베이스 초기화

Airflow는 기본적으로 SQLite를 사용합니다.

bash
복사편집
airflow db init

정상적으로 실행되면 다음과 같은 메시지가 나와야 합니다.

csharp
복사편집
[INFO] Initializing database ...

6️⃣ Airflow 관리자 계정 생성

Airflow 웹 UI에 로그인하려면 관리자 계정을 만들어야 합니다.

airflow users create \

--username admin \

--firstname hyorim \

--lastname kim \

--role Admin \

--email admin@example.com \

--password admin

💡 admin 계정이 생성되었으며, 비밀번호도 admin으로 설정됨.


7️⃣ Airflow 웹 서버 및 스케줄러 실행

이제 Airflow를 실행해 봅니다.

📌 (1) Airflow 웹 서버 실행

bash
복사편집
airflow webserver --port 8080
  • 정상 실행되면 http://localhost:8080에서 웹 UI 접속 가능.
  • 터미널을 새 창에서 열어 다음 단계를 진행.

📌 (2) Airflow 스케줄러 실행

터미널 새 창에서:

bash
복사편집
airflow scheduler
  • DAGs(워크플로우) 실행을 관리하는 프로세스.

8️⃣ Airflow 테스트 (간단한 DAG 실행)

Airflow에서 기본 예제 DAG를 실행해봅니다.

bash
복사편집
airflow dags list

출력 예시:

nginx
복사편집
dag_id example_bash_operator example_python_operator

DAG를 실행하는 명령어:

bash
복사편집
airflow dags trigger example_bash_operator

실행된 DAG 상태 확인:

bash
복사편집
airflow tasks list example_bash_operator

9️⃣ 설치 후 실행 방법 정리

매번 터미널을 열 때마다 실행해야 하는 명령어:

bash
복사편집
source airflow_venv/bin/activate # 가상환경 활성화 export AIRFLOW_HOME=~/airflow # Airflow 환경 설정 airflow webserver --port 8080 # 웹서버 실행 (터미널 1) airflow scheduler # 스케줄러 실행 (터미널 2)

웹 브라우저에서 http://localhost:8080 접속 후 로그인 (admin / admin).


🎯 최종 정리

단계명령어

Homebrew 설치 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Python 3.10 설치 brew install python@3.10
가상환경 생성 및 활성화 python3 -m venv airflow_venv && source airflow_venv/bin/activate
Airflow 설치 pip install "apache-airflow[celery]==2.7.3" --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-2.7.3/constraints-3.10.txt"
Airflow 초기화 airflow db init
Admin 계정 생성 airflow users create --username admin --role Admin --email admin@example.com --password admin
Airflow 웹서버 실행 airflow webserver --port 8080
Airflow 스케줄러 실행 airflow scheduler
DAG 실행 테스트 airflow dags trigger example_bash_operator

🚀 이제 M3 MacBook Air에서 Apache Airflow를 정상적으로 실행할 수 있습니다!
이제 DAG을 만들고 실습을 진행하면 됩니다! 🎉