-
Synology NAS - Docker Airflow 설치etc. 2020. 12. 15. 16:37
2020/07/09 - [etc.] - Synology NAS -> Docker -> Jupyter Notebook 설치하기
위 글과 같이 Synology NAS에 Docker 세팅을 하면서
컨테이너를 띄우기 전 접속 포트와 함께 로컬과 연결할 공유 폴더 볼륨 설정을 해 줍니다.
다음으로 아래 명령어를 차례로 입력해 airflow를 설치합니다.
apt-get update apt-get install vim conda update --all conda install -y airflow pip install --upgrade apache-airflow
도커 설정 시 지정한 공유 폴더 안에 dags, logs 폴더를 생성하고 airflow를 초기화합니다.
airflow db init
에어플로우 디렉토리에서 설정 파일을 수정합니다.
vi airflow.cfg
dags_folder = /root/airflow/dags base_log_folder = /root/airflow/logs default_timezone = Asia/Seoul [webserver] #지정한 포트로 수정 web_server_port = 8080 #synology 외부 접속용 주소로 수정 base_url = http://user.synology.me:8080
웹서버를 실행합니다.
airflow webserver -p 8080
+ 유저를 추가해서 사용하기
위의 설정파일로 다시 들어가서 아래 세 항목을 수정해 줍니다.
authenticate = True auth_backend = airflow.contrib.auth.backends.password_auth rbac = True executor = LocalExecutor
서버를 초기화하고 아래 커맨드로 초기 어드민 유저를 생성해 줍니다.
airflow create_user -r Admin -u username -f firstname -l lastname -p password -e email@address.com
다시 웹서버를 실행하고 로그인하면 아래와 같이 Dag를 확인할 수 있습니다.
+ postgresql 활용
기본적으로 airflow에 세팅된 DB는 SQLite라서 장점인 병렬 처리를 활용할 수 없습니다.
그래서 추가로 postgres를 설치하고 airflow에 적용해 보았습니다.
도커로 새 컨테이너를 띄운 뒤 postgresql을 설치합니다.
apt-get install postgresql
location과 timezone을 서울로 선택해 주고...
vi /etc/postgresql/{version}/main/postrgesql.conf
vi /etc/postgresql/{version}/main/pg_hba.conf
외부 접속이 가능하도록 설정도 수정하고 재시작해줍니다.
sudo /etc/init.d/postgresql restart
정상적으로 접속 가능한지 확인하기 위해 DBeaver를 설치해서 테스트해봅니다.
연결을 확인한 후, airflow 컨테이너로 돌아와서 airflow.cfg 파일을 수정합니다.
sql_alchemy_conn = postgresql+psycopg2://postgres:{password}@{hostname}/postgres
airflow를 초기화하고 다시 웹서버를 띄웁니다.
'etc.' 카테고리의 다른 글
Airflow Dag 관리를 위한 Jupyter Lab 설치하기 (0) 2020.12.17 Airflow Macro PythonOperator에 적용하기 (0) 2020.12.17 노션 퍼블릭 페이지 커스텀 도메인 설정하기 (Cloudflare) (0) 2020.09.26 Docker 터미널에서 한글이 깨질 때 (0) 2020.07.09 Synology NAS -> Docker -> Jupyter Notebook 설치하기 (0) 2020.07.09