HiveServer2가 Heap 부족으로 간헐적으로 종료되는 증상이 나타난다.
해당 사례에서 제시된 조치는 HS2 Heap 증설이다. 특정 수치가 확인되지 않아 고정 Heap 크기를 추가하지 않는다.
HiveServer2의 Heap을 늘리고 GC 로그를 활성화해 메모리 사용과 pause를 확인한다.
명령 예시는 문서 작성 시 보강한 것이며 대상 시스템에서 실행 검증하지 않았다.
- CM에서 Clusters → 대상 클러스터 → Hive on Tez / Hive → Configuration으로 이동한다.
- Scope에서 HiveServer2 또는 해당 역할 그룹을 선택하고 Java Heap Size of HiveServer2 in Bytes를 검색한다. 역할별 override가 있으면 실제 대상 역할의 값도 확인한다.
- 기존 값을 기록한 뒤 아래 내용을 반영한다. Safety Valve는 기존의 다른 설정을 지우지 않고 해당 키만 추가·수정한다.
Heap = 실측 피크와 동시 연결 부하에 맞춘 값
- Save Changes를 누르고 변경 사유를 기록한다. Instances → 대상 역할 선택 → Actions for Selected → Restart로 해당 역할을 재시작한다. 클라이언트 설정 변경 표시가 있으면 Actions → Deploy Client Configuration도 실행한다.
- 실패하거나 기존 기능에 영향이 있으면 같은 화면에서 이전 값을 복원하고 해당 역할을 재시작한다.
이 원본에 확정 Heap 수치가 없다. 기존 GC 옵션과 JDK 버전을 확인한 후 Java Configuration Options에서 해당 JDK의 GC 로그 옵션을 반영한다.
GC 로그에서 Full GC 주기·pause와 HS2 OOM 재발 여부를 확인한다.