베하 !
문땅훈과 루피입니다!!
오늘은 Airflow 실습을 해보겠습니다.
설치 및 DAG 생성까지 해보도록 하겠습니다.
개요
- Airflow pip로 실행
- Airflow Docker image 생성 후 실행
Airflow 실행 및 접속을 위해서 총 2가지 방법으로 생성해보겠습니다. 😊
1. pip 로 실행하기
1. Ubuntu & pip3 업데이트
sudo apt update && sudo apt upgrade
sudo apt-get install software-properties-common
sudo apt-add-repository universe
sudo apt-get updat e && sudo apt-get install python3-pip
2. Airflow Install
# 관리에 용이하게 Airflow를 설치할 디렉토리 생성
mkdir af
# airflow 설치 명령어
pip3 install apache-airflow
3. wsl.conf 파일 수정
- wsl.conf 파일이란?
- WSL의 동작 방식, 리눅스 배포판의 설정 및 통합을 구성하는 설정 파일
- WSL 배포판의 루트 파일 시스템에 위치하며, 일반적으로 /etc/wsl.conf 에 위치
sudo nano /etc/wsl.conf
# wsl.conf 파일에 하기의 내용 입력
[automount]
root = /
options = "metadata"
4. 프로젝트 경로 설정
- 현재 디렉토리 경로를 Airflow 경로로 설정하기 위해 nano ~/.bashrc 에 AIRFLOW_HOME 환경 변수를 설정해줍니다.
- 설정을 완료한 뒤에 Terminal 재접속
export AIRFLOW_HOME=/home/[Users]/[생성한 디렉토리명]
5. Airflow 설치 확인
- 설치가 정상적으로 되었다면 아래와 같이 나타납니다!
- sql_alchemy_conn을 봤을 때 경로가 제대로 설정된거 보이시죠 ? 해당 경로는 airflow.cfg에서도 확인 가능합니다.
airflow info
6. Airflow DB 초기화
- airflow.db와 webserver_config.py 파일 생성
airflow db init
7. Airflow 실행 및 로그인 시 필요한 계정 추가
airflow webserver -p 8080
- 로그인 시 필요한 Admin 정보 계정 추가
airflow users create \
--username admin \
--firstname moon \
--lastname thanghoon \
--role Admin \
--password admin1234 \
--email silverbin0523@gmail.com
위 작업을 완료해주고 접속하면 됩니다.😊
TroubleShooting
- 경로 문제 Error 발생 시
- 만약 아래와 같은 에러가 뜬다면 경로 설정을 잘못하여 DB 연결이 안되는 에러입니다.
- 이때, airflow info 해서 경로를 확인하고 절대경로로 경로를 맞춰주세요 !
2. Docker image 생성 후 실행하기
- 먼저, WSL 환경에서 Docker 설치합니다.
1. 업데이트해주기
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
2. 이전 버전 제거
sudo apt-get remove docker docker-engine docker.io containerd runc
3. 키 추가
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
4. 리포지토리 설정
echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
5. 도커 엔진 설치
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
5-1 ) Package 'docker-ce' has no installation candidate error 발생 시 아래 진행
$ sudo apt-get update
$ sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
6. 설치 확인
sudo docker run hello-worldsudo
7. 파이썬 컨테이너 내에서 명령어 실행하기
sudo docker python:3.8 python -c 'import sys; print(sys.version)'
- Airflow 실행하기
1. apt update & pip 설치 해주기
sudo apt update && sudo apt install python3-pip
2. yaml download
curl -LfO 'https://airflow.apache.org/docs/apache-airflow/2.3.3/docker-compose.yaml'
3. env 환경 변수 설정하기
mkdir ./dags ./logs ./plugins
echo -e "AIRFLOW_UID=$(id -u)\nAIRFLOW_GID=0" > .env
4. docker composer 실행
docker compose up
이후, localhost:8080으로 접속하면 airflow webpage가 뜹니다.
이렇게 2가지 방법으로 airflow webpage에 접속해보았는데요
쉽게 잘 따라하셨나요!?
다음엔 Composer에 대해서 배워보겠습니다.
그럼 베빠 !!
😊😊
<참고자료>
https://docs.docker.com/engine/install/ubuntu/
'Database' 카테고리의 다른 글
[데이터 레이크하우스] Data Lakehouse (0) | 2023.06.19 |
---|---|
Composer란 (0) | 2023.06.08 |
[Airflow] MetaDB와 Executor 변경 실습 (0) | 2023.05.31 |
Windows 환경에서 Mysql8 root 패스워드 찾는법 (0) | 2023.05.31 |
Apache Superset 사용해보기 (0) | 2023.05.30 |
댓글