뱅크샐러드, Spark on Kubernetes 전환으로 비용 절감!

by DD
3년 전
조회수 8

EMR 기반의 Spark 환경에서 Kubernetes 기반으로 데이터 분석 환경을 이전함

Spot Instance 활용, Auto Scaling 개선을 통해 비용 45% 절감 달성

Glue 연동, Magic Committer 설정 등, Kubernetes 환경에 맞는 최적화 진행

Kubernetes 환경에서의 Spark 아키텍처

Spark on KubernetesDriver Pod가 Executor Pod을 생성하는 구조로 동작한다. 구체적으로, Headless Service를 통해 Driver Pod에 접근하며, Spot InstanceAuto Scaling Group을 활용하여 자원 효율성을 높인다. 따라서, Kubernetes 클러스터 환경에 최적화된 Spark Job 실행이 가능하다.

EMR vs Kubernetes: 비용 절감의 비결

EMR 환경에서 YARN 기반의 Spark는 설정 및 관리의 어려움이 있었다. Kubernetes로 전환하면서 Auto Scaling의 유연성을 확보하고, Spot Instance를 적극 활용하여 비용 45% 절감을 달성했다. 반면, Glue 연동, Magic Committer 설정 등 추가적인 작업이 필요했다.

Spark on Kubernetes 적용을 위한 실전 가이드

Kubernetes 환경에서 Spark Job을 실행하기 위해, Docker Image를 빌드하고, Glue Catalog 연동 설정을 해야 한다. 구체적으로, aws-glue-data-catalog-client-for-apache-hive-metastore를 활용하여 Glue 테이블에 접근하고, Magic Committer 설정을 통해 S3 쓰기 성능을 개선해야 한다.

Spark on Kubernetes로 가자!

댓글 0

첫 번째 댓글을 남겨보세요!