Bootcamp/Airflow

[Airflow] naver 리뷰 airflow 하기(버전만)

K_Hyul 2024. 3. 27. 17:54
728x90

Final Project 때 했던 크롤링을 바탕으로 Airflow를 입혀 Data 축적을 자동화 해보는걸 목표로 한다.

 

Ubuntu 환경과 Window 환경을 왔다갔다 할 예정이다.

// Ubuntu

// mysql 상태를 확인한다
sudo systemctl status mysql

// ip를 확인해 window에서 DB 인터페이스를 연결한다
ifconfig

// mysql 접속
sudo mysql -u root -p

// Airflow용 계정을 만든다
CREATE USER 'hyul'@'%' IDENTIFIED BY '비밀번호';

// 권한 부여 완료
GRANT ALL PRIVILEGES ON *.* TO 'hyul'@'%';

 

 

이제 Airflow를 설치하겠다

// apache-airflow 설치
pip install apache-airflow==2.8.1 --constraint https://raw.githubusercontent.com/apache/airflow/constraints-2.8.1/constraints-3.10.txt

// 환경설정을 하는데 이슈가 있었다 
hyul@DESKTOP-A9AF8PR:~/workspace/Airflow$ airflow db init
airflow: command not found

// 이런상황이여서 경로 설정을 해준 뒤
export PATH="$HOME/.local/bin:$PATH"


// pandas, sqlalchemy이 버전 충돌나서 이걸로 하면 해결됨

pip install virtualenv
virtualenv venv
source venv/bin/activate
pip install pandas==2.0.3	
pip install sqlalchemy==1.4.50
pip install apache-airflow[cncf.kubernetes]
pip install pymysql
pip install mysqlclient

vi airflow.cfg
/sql_alchemy_conn
sql_alchemy_conn = mysql://hyul:비밀번호@localhost/airflow

airflow db init

airflow users create --username hyul --password hyul --firstname Anonymous --lastname Admin --role Admin --email hyul@example.org

airflow webserver &
airflow scheduler &

// or

nohup airflow webserver &
nohup airflow scheduler &

// 파일 전송
scp ./Airflow_naver.py hyul@172.20.51.1:/home/hyul/airflow/dags


// 종료시
pgrep -f "airflow webserver"
pgrep -f "airflow scheduler"
kill pid

 

 

 

결과>> (버전 충돌로 빨간줄이 몇번 떳지만 정상 작동함)

 

 

728x90