목록 보기
Spark on Kubernetes로 가자!
데브옵스

Spark on Kubernetes로 가자!

뱅크샐러드
뱅크샐러드
2023년 1월 5일

두줄요약

EMR·YARN 기반 Spark 분석 환경을 self-hosted Kubernetes로 이전한 과정을 소개했습니다. Glue 연동과 S3 commit 문제를 해결해 피크 시간 기준 약 45% 비용을 절감했습니다.

문제 상황

  • EMR·YARN 기반 Spark 클러스터에서 spot 인스턴스 종료, autoscaling 이상, Spark SQL 서버 hang 등 운영 이슈
  • 사내 Hadoop·EMR 운영 경험 부족으로 문제별 임시 대응 축적
  • 매일 수백~천 종 Spark job을 처리하는 데이터 레이크·data mart 환경

구조와 흐름

  • S3·Glue 기반 데이터 레이크의 테이블 적재와 data mart 계산을 Spark job으로 실행
  • Airflow KubernetesPodOperator에서 Spark driver pod 실행, driver가 executor pod 생성
  • spot 노드 ASG와 aws-cluster-autoscaler, node selector·toleration 기반 Spark job 배치

해결 방법

  • EMR 컴퓨팅을 self-hosted Kubernetes 기반 Spark 실행 환경으로 이전
  • Glue Data Catalog client JAR 및 s3:// 경로를 s3a://로 변환하는 코드 반영
  • S3A Magic committer와 Spark SQL commit protocol 옵션 설정, 작은 파일 생성을 줄이기 위한 shuffle hint 적용

성능/운영 포인트

  • Kubernetes 기반 autoscaling으로 Spark 워크로드에 민감하게 노드 증감
  • 피크 시간 기준 약 45% 비용 절감 확인
  • Spark pod 리소스 메트릭, 외부 로그 저장, observability·resource optimization·availability 개선 과제

다음 읽기

#Spark 주제를 다룬 다른 회사 글

LINE 서비스의 대규모 광고 데이터를 처리하기 위한 Spark on Kubernetes 적용기

LINE Ads의 대규모 광고 데이터를 처리하기 위해 Spark on Kubernetes를 도입한 사례입니다. 성능 향상, 비용 절감, 버전 유연성을 함께 확보했습니다.

라인
라인
데브옵스
전체 보기

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...