본문 바로가기

Data Engineering24

Helm Chart로 쿠버네티스에 Airflow설치(KubernetesExecutor 사용) 💡 본문에서 설명하는 내용은 아래의 환경이나 설정을 따른다. - Airflow version: 2.5.3 - AWS 클라우드를 사용하며 EKS에서 쿠버네티스 운영 - Airflow Executor: KubernetesExecutor - Helm Chart: 공식차트 사용 (User Community 차트 X) 초기 설정 네임스페이스 생성 kubectl create ns airflow helm repo 추가 # airflow repo 추가 helm repo add apache-airflow https://airflow.apache.org # repo 업데이트 helm repo update values.yaml 가져오기 airflow/chart/values.yaml at main · apache/airflo.. 2024. 4. 13.
[Airflow] git-sync 설정하기 💡 Git-sync는 무엇인가? kubernetes에서 Airflow를 구성할 때 사이드카 컨테이너로 동작하면서 외부 repository의 dag의 코드를 Airflow 컨테이너에 sync해주는 역할을 합니다. 이를 통해 git repo의 특정 브랜치를 공통개발환경의 SOT(Source of Truth)로 활용 할 수 있습니다. Docker Compose Airflow 에서 설정 기본적으로 git-sync는 쿠버네티스 Airflow에 사이드카패턴으로 사용되기 때문에, docker compose 환경에서 사용하는 방법을 찾기가 제한적이다. 아래 이미지를 활용해서 간단하게 구성이 가능한데, 공식적으로 제공되거나 많이 사용 되는 이미지는 아니기 때문에 주의가 필요하다. https://github.com/dat.. 2024. 3. 31.
docker-compose로 Airflow 설치하기 💡 Pre-requisite Docker 설치 (Memory 최소 4GB 이상, 8GB 권장) Docker Compose v2.14.0 이상 도커 컴포즈로 구성되는 서비스 목록 airflow-scheduler: 스케쥴러는 모든 tasks와 Dags를 모니터하고 task instance를 의존성에 맞게 트리거 airflow-webserver: 에어플로우 UI를 제공하는 웹서버로, http://localhost:8080로 접속가능 airflow-worker: 스케쥴러로 부터 부여받은 태스크를 실행하는 워커 airflow-triggerrer: 외부이벤트나 조건에 따라 작업을 실행시키도록 함 airflow-init: 에어플로우 초기화 postgres: 백엔드 데이터베이스 redis: 스케쥴러에서 워커로 메세지를.. 2024. 3. 17.
Kafka - S3 Sink Connector Rotation Strategy(Flush 설정) MSK 클러스터에 S3 sink connector 연결해서 S3에 데이터 적재하기 MSK 클러스터에 S3 sink connector 연결해서 S3에 데이터 적재하기 💡 MSK Connector는 연결하고자 하는 MSK Cluster의 인증방식으로 인증없음이나 IAM 인증만 지원한다. MSK에서 S3 Sink Connector를 사용해서 S3에 접근하기 위해서는 Connector 생성 전에 아래 두개의 리소스가 devpongi.tistory.com 이전에 작성했던 블로그 글처럼 커넥터를 설정해서 사용 중 이었는데, 연속적으로 데이터가 들어오지 않는 토픽의 경우에는 Flush size가 매번 채워지지 않아 S3에 데이터가 업로드 되는데 지연이 발생하였다. 그래서 이번에 S3 업로드 설정을 추가하면서, S3 .. 2024. 2. 18.