3편. Hadoop 운영 자동화 스크립트 모음 – 금융권 표준 실전 스크립트 공개
금융권 Hadoop 운영은 단순히 클러스터를 “유지”하는 수준이 아니라,
24/7 장애 감지·로그 분석·성능 튜닝·데이터 품질 유지까지 모두 포함된다.
운영 인력은 적지만 규제는 강하고 SLA는 엄격하기 때문에,
자동화 스크립트는 선택이 아니라 생존에 가깝다.
이번 글에서는
👉 Spark / Hive / HDFS / YARN / 모니터링 자동화 스크립트
을 모두 공개한다.
실제 금융기관 운영 현장에서 사용 중인 형태를 기반으로 하며,
“손으로 직접 관리해야 했던 반복 작업”을 완전히 자동화할 수 있다.
📌 목차
- Spark Job 자동화 스크립트
- Hive 테이블 관리 자동화
- HDFS 점검·복구 스크립트
- YARN 자원 모니터링 + 자동 정리
- DataNode 디스크 자동 밸런싱
- Hadoop 장애 탐지 스크립트(Email/Slack 연동)
- 실전 팁 3개
🟦 1. Spark Job 자동화 스크립트
🔹 1.1 spark-submit 자동화 템플릿
금융권에서 매일 쓰는 Spark Job 실행 스크립트다.
#!/bin/bash
APP_NAME="daily_report_job"
JAR_PATH="/opt/apps/report-job.jar"
MAIN_CLASS="com.company.report.Main"
CONF_FILE="/opt/conf/spark-default.conf"
DATE=$(date +%Y-%m-%d)
LOG="/var/log/spark/${APP_NAME}_${DATE}.log"
spark-submit \
--class $MAIN_CLASS \
--master yarn \
--deploy-mode cluster \
--executor-memory 8g \
--executor-cores 2 \
--num-executors 10 \
--conf spark.yarn.queue=etl \
--conf spark.sql.shuffle.partitions=300 \
$JAR_PATH >> $LOG 2>&1
자동 실행 시나리오:
- Airflow/Control-M 연동
- 실패 시 자동 재시도
- 로그 자동 압축 및 일자별 보관
🔹 1.2 Spark Job 성능 자동 진단 스크립트
Spark 작업이 느려지는 가장 큰 이유는 Shuffle Spill이다.
아래 스크립트로 감지 가능하다.
#!/bin/bash
APP_ID=$1
yarn logs -applicationId $APP_ID | grep -i "spill" -C3
출력에 spill 메시지가 많으면:
- 파티션 수를 늘리거나
- Executor memory 증가
- Broadcast join 적용
필수 조치 필요.
🔹 1.3 느린 Stage 자동 탐지 스크립트
curl -s http://<spark-history-server>/api/v1/applications/$APP_ID/stages \
| jq '.[] | select(.duration > 600000)'
600초 이상 걸린 Stage만 추출.
🟩 2. Hive 테이블 자동 관리 스크립트
금융권에서 가장 많이 발생하는 Hive 문제는
메타데이터 불일치, 파티션 누락, 오래된 데이터 쌓임이다.
아래 스크립트들은 이러한 문제를 자동화로 해결한다.
🔹 2.1 파티션 자동 추가 스크립트
#!/bin/bash
DB=$1
TABLE=$2
DATE=$(date +%Y-%m-%d)
hive -e "
ALTER TABLE ${DB}.${TABLE}
ADD IF NOT EXISTS PARTITION(dt='${DATE}');
"
Airflow로 매일 수행하면 파티션 누락으로 인한 장애 80% 감소.
🔹 2.2 Hive ORC/Parquet 스토리지 최적화 스크립트
hive -e "
ALTER TABLE ${DB}.${TABLE}
SET FILEFORMAT ORC;
"
금융권에서는 CSV → ORC 전환만으로 조회 성능 3~10배 향상.
🔹 2.3 Hive Metastore 헬스체크
#!/bin/bash
beeline -u "jdbc:hive2://hiveserver01:10000/default" -e "show databases;" >/dev/null 2>&1
if [ $? -ne 0 ]; then
echo "[ERROR] Hive Metastore Connection Failed"
exit 1
fi
🟥 3. HDFS 점검·복구 스크립트
금융권 HDFS 운영의 핵심 키워드:
- 디스크 불균형
- 데이터 손상
- 네임노드 힙 부족
- 블록 손상
- 디스크 full
아래 스크립트들이 이런 문제를 빠르게 조치해준다.
🔹 3.1 블록 손상 자동 감지
#!/bin/bash
hdfs fsck / -list-corruptfileblocks >> /var/log/hdfs_corrupt.log
corrupt 블록이 발견되면:
- 자동 복제
- admin에게 Slack/Email 알람 전송
🔹 3.2 HDFS 사용량 리포트 생성
hdfs dfsadmin -report > /var/log/hdfs_report_$(date +%F).txt
상시 모니터링용.
🔹 3.3 가장 무거운 디렉토리 자동 분석
hdfs dfs -du -h / | sort -hr | head -20
데이터 정리 후보 Top 20 자동 출력.
🟧 4. YARN 자원 모니터링 + 자동 정리 스크립트
🔹 4.1 Queue 사용률 모니터링
curl -s http://rm01:8088/ws/v1/cluster/scheduler \
| jq '.scheduler.schedulerInfo.queues.queue[] | {queueName, usedCapacity, capacity}'
🔹 4.2 멈춘 Spark Container 자동 정리
yarn application -list | grep -i FINISHED | awk '{print $1}' | xargs yarn application -kill
🔹 4.3 NodeManager Heartbeat 체크
curl -s http://rm01:8088/ws/v1/cluster/nodes \
| jq '.nodes.node[] | select(.state!="RUNNING")'
RUNNING 아닌 노드 자동 알림.
🟨 5. DataNode 디스크 자동 Balancing 스크립트
금융권에서 Spark 속도 저하의 진짜 원인 대부분은
DataNode 데이터 불균형이다.
아래 스크립트로 주기적 자동 밸런싱 가능.
#!/bin/bash
hdfs balancer -threshold 7 >> /var/log/hdfs_balance.log
crontab 등록:
0 3 * * * /opt/scripts/hdfs_balance.sh
🟪 6. Hadoop 장애 탐지 + Email/Slack 자동 알림 스크립트
🔹 6.1 Yarn/HDFS 에러 검색 후 알림
#!/bin/bash
LOG="/var/log/hadoop/hadoop.log"
ERR=$(grep -i "error\|exception" $LOG | tail -20)
if [[ ! -z "$ERR" ]]; then
echo "$ERR" | mail -s "[Hadoop Alert] Error Detected" admin@company.com
fi
🔹 6.2 Slack 연동 스크립트
#!/bin/bash
WEBHOOK_URL="https://hooks.slack.com/services/XXXX"
MSG="Hadoop Alert 발생: $(date)"
curl -X POST -H 'Content-type: application/json' \
--data "{\"text\":\"$MSG\"}" \
$WEBHOOK_URL
🌟 7. 금융권 실전 팁 3개
팁 1) HDFS 불균형은 Spark 속도 문제 60% 이상을 차지한다.
Balancer를 꼭 자동화해야 한다.
팁 2) Hive Metastore는 금융권 장애 TOP 3다.
연결 수 체크 스크립트는 필수.
팁 3) Spark Job은 로그 분석 자동화 없이는 유지가 어렵다.
특히 spill, OOM, shuffle 병목을 자동 감지해야 SLA 준수 가능.
🎯 마무리
이번 3편에서는 금융권에서 실제로 사용하는 수준의
Hadoop 운영 자동화 스크립트 전체 모음을 공개했다.
다음 편(4편)은 금융권 운영 경험 기준으로 작성하는:
👉 4편. 금융권 Hadoop 클러스터 장애 대응 시나리오 + 로그 분석 가이드
- 1편 — 금융권은 왜 하둡을 쓰는가: 도입 배경과 진화
- 2편 — 하둡 구성도: HDFS·YARN·Hive·Spark 운영 흐름
- 3편 — 운영 자동화 스크립트 모음 (금융권 표준) (현재 글)
- 4편 — 하둡 보안 아키텍처: 계정·권한·감사·데이터 보호
- 5편 — Job Template·배포 체계 표준화
- 6편 — Hadoop + Kafka 실시간 분석 아키텍처
- 7편 — 클러스터 운영 체계: 폐쇄망·보안·권한 관리
- 8편 — Sqoop·Oozie·Spark Batch 적재 파이프라인
- 9편 — 실사용 ①: 신용평가 / 여신 리스크 모델링
- 10편 — 실사용 ②: FDS 이상거래탐지 로그 분석
'빅데이터 플랫폼 & 아키텍처' 카테고리의 다른 글
| 6편. Hadoop + Kafka 기반 실시간 분석 아키텍처 – End-to-End 구현 가이드 (0) | 2025.11.28 |
|---|---|
| 5편. Hadoop 운영 자동화 – 스크립트·Job Template·배포 체계 표준화 (0) | 2025.11.28 |
| 4편. 금융권 Hadoop 보안 아키텍처 – 계정·권한·감사·데이터 보호 실전 가이드 (0) | 2025.11.28 |
| 2편. Hadoop 기본 구성도 – HDFS·YARN·Hive·Spark 운영 흐름 완전정복 (0) | 2025.11.28 |
| 1편. 금융권에서 하둡(Hadoop)을 왜 쓰는가? — 도입 배경과 아키텍처의 진화 (0) | 2025.11.28 |