SW-PRODUCT/개발-데이터분석

[후기] Docker로 Airbnb Airflow 삽질 side-work

굴돌 2016. 4. 21. 14:11


결론: Ubuntu 15는 되고 Ubuntu 14는 실패. 하지만 역시 Docker가 짱이다.


# 아래는 뻘짓한 일지인데, 개인 기록차 남김.

## mysql 연결 설정

docker run --name airflow-db -p 3306:3306 -v /daum/data/airflow-db:/var/lib/mysql -d -e MYSQL_ROOT_PASSWORD=airflow-db mysql

apt-get install iputils-ping
ㄴ docker에서 밖으로 ping 테스트하려고 설치함.


pip install airflow[mysql]
ㄴ 뻑남... Ubuntu에서 pip가 문제있다 함.. apt-get 말고 easy_install로 설치하라함...
apt-get remove python-pip
easy_install pip
pip2.7 install airflow[mysql]

apt-get install lsb-release
apt-get install wget
wget http://dev.mysql.com/get/mysql-apt-config_0.7.2-1_all.deb
dpkg -i mysql-apt-config_0.7.2-1_all.deb
apt-get update
apt-get install mysql-client
ㄴ 오... 이름에 5.7은 없는데 5.7로 설치됨. 그냥 mysql을 5.6을 깔걸 그랬나 =.=;;

pip2.7 install airflow[mysql]
ㄴ 또 뻑났다 =.=;;;

apt-get install python-dev libmysqlclient-dev
pip2.7 install airflow[mysql]
ㄴ 오... 이거 된다! 이게 문제였군 ㅠ.ㅠ... mysql 설치 안했어도 될 듯?

mysqlWrokbench로 들어가서 airflow schema 생성해줌.

sql_alchemy_conn = mysql://root:airflow-db@192.168.99.100:3306/airflow
broker_url = sqla+mysql://root:airflow@192.168.99.100:3306/airflow
celery_result_backend = db+mysql://root:airflow@192.168.99.100:3306/airflow

airflow initdb
ㄴ 성공!!

pip install airflow[crypto]
ㄴ 비번 저장용이란다...

docker stop airflow
docker start airflow


...여기까지 했는데 왠지 airflow가 db에 안붙는건지..;; 여전히 sample dags들만 보인다 =.=;;;

-> 생각해보니 scheduler를 안띄워서 그런듯. 이때만해도 scheduler 띄울 생각을 못함...


## VirtualBox에 Ubuntu 14 깔아서 처음부터 다시...

* 우분투 설치
  * 작은 회면에서 영어부터 추가. 추가만 하면 바로 적용되니 "확인" 버튼 안찾아도 됨.
  * VirtualBox의 Device > Install... 어쩌구를 이용해서 확장팩 설치 후 재시작.

sudo easy_install pip

pip install airflow
ㄴ python-dev 어쩌구 하면서 에러남...
ㄴ python 버전이 2.7.6에서 멈췄는데 이 때문이려나?

pip install --upgrade setuptools
ㄴ 도움 안됨.

anaconda 설치.



## VirtualBox에서 Ubuntu 15.10 설치

* 우분투 설치
  * rapl 어쩌구 오류 떠서 Settings > System > Processor > Enable PAE/NX 체크.
  * VirtualBox의 Device > Install... 어쩌구를 이용해서 확장팩 설치 후 재시작.
  * 한글 입력기 설정..한글 영어 둘 다 있는데도 한글이 안되서...Hangul 추가하고 제일 위에 올리고 "한글xxx" 삭제.
  * 업데이트 설치.

* Anaconda 설치 : Anaconda2-4.0.0-Linux-x86_64.sh

* pip install airflow 성공!

* tutorial.py 생성하는 예제 성공!
  * airflow scheduler & 실행시키니 자동으로 인식해서 리스트에 보여준다!
  * WEB UI에서 DagBag에 없다고 어쩌고 했는데.. airflow list_dags 하니까 없어졌다..근데 이것때문인지 시간이 되서인진 모르겠다.
  * tutorial2.py가 지 혼자 나타났다 사라졌다 한다..;;