11. airflow 튜토리얼
airflow가 뭔지 알았으니
튜토리얼 개념으로 크롤러들을 에어플로어로 작성해보는 시간을 가져본다
일단 DB는 개인 RDS를 사용하도록한다
이 안에 엉망진창 인스타그램 데이터들이 들어 있긴하다
파이썬을 깔고 레포도 하나 파준다
근데 나도 맨날 코드 블록으로 코드 쓰는데 왜 게시만 하면 코드블록이 사라지는지 모르겠다..
(venv) semihan@semiui-MacBookAir airflow_tutorial % python3 -m pip install apache-airflow
Collecting apache-airflow
(venv) semihan@semiui-MacBookAir airflow_tutorial % airflow users create --username semi colon --firstname han --lastname stomi --role Admin --email hxxxeme@gmail.com
airflow 계정은 한스토미로 파주었다
airflow webserver --port 8080
>> ImportError: dlopen(/Users/semihan/airflow_tutorial/venv/lib/python3.8/site-packages/setproctitle.cpython-38-darwin.so, 0x0002): symbol not found in flat namespace '_Py_GetArgcArgv'
에러가 간다
검색해보니 macOS에서 나는 오류인듯하다 맥을 쓰면 python 을 3.7로 다운그레이드 하라한다
후,,,,,,,,
자 그냥 원격으로 회사컴으로 들어가서 다시 하는게 좋을 것같다
>>AttributeError: module 'signal' has no attribute 'SIGALRM'
이제는 이런 오류가 뜬다 이거는 윈도우에서 제공해 주지 않는다고 한다
내일 다시 하는 걸로 하자

도커를 사용해서 airflow를 실행해야 한다고 해서
블로그를 보면서 따라 했다
docker ps를 한 결과인데
localhost:8080이 되지 않는다...
PermissionError: [Errno 13] Permission denied: '/opt/airflow/logs/scheduler'
ValueError: Unable to configure handler 'processor'
도커에서는 이런 오류라고 뜬가
PermissionError: [Errno 13] Permission denied: '/opt/airflow/logs/scheduler'
이게 문제인 것같다
검색해보니
echo -e "AIRFLOW_UID=$(id -u)" > .env
이부분을 수동으로 바꿔주는 방법도 있다고 하더라
AIRFLOW_UID=50000
AIRFLOW_GID=0
이렇게 생성을 하고 다시
docker-composer up -d를 하니

잘열린다
안에 example이 없는건 에러때문에 이것저것 건들다가
AIRFLOW__CORE__LOAD_EXAMPLES: 'false'
를 했기 때문이다