카카오, 대규모 데이터 이관 및 아카이빙 자동화 시스템 'Pojang24' 개발기
·2022.12.26 00:00
핵심 내용
3명이 6개월간 개발해 4000개 Flow와 40PB 데이터를 성공적으로 이관했다.
1 / 10
자세히 보기
카카오는 상용 하둡 플랫폼에서 자체 개발한 **카카오 하둡 플랫폼(KHP)**으로의 전환을 위해 대규모 데이터 이관과 아카이빙을 자동화하는 시스템 **'Pojang24'**를 개발했다. 기존 시스템은 하둡 관리자가 수동으로 스크립트를 작성하고 실패 시 재처리해야 하는 등 운영 부담이 컸으며, 스키마 변경이나 과거 데이터 처리에 유연하지 못했다.
Pojang24의 핵심 기능과 아키텍처
Pojang24는 사용자가 직접 데이터 플로우를 관리할 수 있도록 설계되었으며, Apache Airflow를 워크플로 엔진으로 채택했다. Airflow는 스케일아웃, 페일오버, 실패 작업 자동 재시작, 그리고 과거 데이터 처리를 위한 Catchup 기능을 지원하여 기존 Oozie 기반 시스템의 한계를 극복했다.
- 데이터 이관: HDFS Distcp와 Hive 쿼리를 지원하는 Base Docker 이미지를 제공하여 하둡 지식이 없는 사용자도 쉽게 이관을 수행할 수 있다.
- Hive 테이블 이관: 스키마가 변경된 파티션도 임시 Parquet 테이블을 활용해 유연하게 이관할 수 있도록 처리한다.
- Kafka 수집: Apache Flume을 활용해 Kafka 토픽에서 HDFS로의 데이터 파이프라인을 간단하게 구성할 수 있다.
개발 과정의 교훈과 성과
Pojang24는 3명의 개발자가 6개월간 개발했으며, 이를 통해 약 4000개의 Flow를 생성하고 40 페타바이트의 데이터를 이관했다. 개발 과정에서 Ruby 기반의 Hive Connector 성능 이슈와 과도한 상속으로 인한 유지보수 어려움이 발견되었으나, 이를 통해 컴포지션 기반 설계와 커넥션 관리의 중요성을 깨달았다. 이 시스템은 아카이빙 현황을 시각적으로 모니터링하고 실패 시 사용자에게 알람을 보내는 기능을 제공하여 운영 효율성을 크게 높였다.
이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.