Infra

Infra/Airflow

docker에서 airflow 실행 중 Permission Denied 오류 해결

airflow를 실행하려고 할 때 발생하는 Permission Denied 오류 해결 방법에 대해 설명하고자 한다. situation airflow-worker_1 | Traceback (most recent call last): airflow-worker_1 | File "/usr/local/lib/python3.7/logging/config.py", line 563, in configure airflow-worker_1 | handler = self.configure_handler(handlers[name]) airflow-worker_1 | File "/usr/local/lib/python3.7/logging/config.py", line 736, in configure_handler airflow..

Infra/Docker

Unsupported config option for services.airflow-cli: 'profiles' 해결

situation airflow를 실행하기 위해 docker compose 를 작성했는데 Unsupported config option for services.airflow-cli: 'profiles' 오류가 났다. 이는 docker-compose 파일에 지원하지 않는 설정 옵션들이 포함되어 있을 때 발생한다. 즉, 'profiles'라는 옵션이 docker-compose의 이전 버전에서는 지원되지 않았던 옵션이기 때문에 발생한 오류이다. solution 먼저, docker 버전을 확인한다. docker-compose --version 만약 1.29버전 보다 낮다면 업그레이드를 시켜준다. # docker-compose 파일 위치 확인 whereis docker-compose # 보통 /usr/bin/do..

Infra/Airflow

airflow에서 TaskGroup 적용하기

TaskGroup이란 태스크 그룹은 여러 개의 task를 하나의 그룹으로 묶어 관리하는 airflow 기능이다. 이를 통해 코드의 재사용성을 높이고 복잡한 워크플로우를 더 구조화된 방식으로 작성할 수 있게 된다. 예시 코드 태스크 그룹으로 설정하는 코드는 매우 간단하다 ! with TaskGroup(group_id='GROUP_ID', dag=dag) as GROUP_ID_PYTHON : 그룹 ID를 지정해주고 들여쓰기를 통해 태스크들을 묶어주면 된다. GROUP_ID는 웹 UI상에서 보는 이름이고 as 뒤에 GROUP_ID_PYTHON은 python에서 사용하는 명칭이다. from airflow.utils.task_group import TaskGroup # 기본 dag 설정 default_args ..

Infra/Airflow

Docker 환경에서 Airflow DAG의 패키지 의존성 관리

이런 오류가 떴다면 필요한 python 라이브러리를 정의하지 않았거나 설치하지 않았다는 뜻이다. Airflow의 DAG를 Docker 컨테이너 내에서 실행시키려면 requirements.txt파일에 필요한 Python 패키지를 정의하고, 그 패키지들을 Docker 컨테이너 내에 설치해야 한다. 이렇게 해야 DAG가 필요한 모듈 및 라이브러리를 올바르게 사용할 수 있다. 1. requirements.txt 작성 예를 들어, 위와 같은 오류 메세지가 뜬 경우 xmltodict라는 라이브러리를 설치하도록 requirements.txt를 작성해주면 된다. 라이브러리만 작성할 경우 최신버전으로 설치되니 특정 버전을 설치하고 싶다면 ==1.4.0 과 같이 지정해주면 된다. 2. Dockerfile 작성 이제 doc..

Infra/Docker

Docker란

Docker 컨테이너 기반 가상화 플랫폼이다. (독립적인 가상 컴퓨터) 컨테이너는 애플리케이션과 그 애플리케이션을 실행하는 데 필요한 모든 종속성을 포함하는 완전한 실행 환경을 패키징하는 기술이다. 도커는 이러한 컨테이너를 생성, 배포 및 실행하기 위한 도구들의 모음을 제공한다. 예를 들어, MySQL을 다른 os에서 설치하려면 다양한 변수가 존재한다. 즉, 설치 과정이 os와 os의 버전에 따라 달라지게 되어 다수의 다른 소프트웨어들의 설치가 동반되는 것이 일반적이다. Docker는 특정 프로그램과 (그 프로그램을 실행하는 데) 필요한 기타 소프트웨어들을 하나의 패키지로 만듦으로써 해당 프로그램의 개발과 사용을 도와주는 오픈소스 플랫폼이다. 이 패키지를 먼저 파일 시스템 형태로 만드는데 이를 Docke..

향식이
'Infra' 카테고리의 글 목록