HiveServer2에서 operation log 때문에 File Descriptor가 누수되는 증상이 나타난다.
이 설정으로 FD 누수를 피한 것으로 기록되어 있다. 세션 단위 설정이 런타임에서 동작하지 않았다는 내용이 있어 서버 설정의 우회 방법으로 구분한다.
CM의 HiveServer2 설정에서 hive.server2.logging.operation.enable=false로 operation logging을 비활성화한다.
명령 예시는 문서 작성 시 보강한 것이며 대상 시스템에서 실행 검증하지 않았다.
- CM에서 Clusters → 대상 클러스터 → Hive on Tez / Hive → Configuration으로 이동한다.
- Scope에서 HiveServer2 또는 해당 역할 그룹을 선택하고 HiveServer2 Advanced Configuration Snippet (Safety Valve) for hive-site.xml를 검색한다. 역할별 override가 있으면 실제 대상 역할의 값도 확인한다.
- 기존 값을 기록한 뒤 아래 내용을 반영한다. Safety Valve는 기존의 다른 설정을 지우지 않고 해당 키만 추가·수정한다.
hive.server2.logging.operation.enable=false
- Save Changes를 누르고 변경 사유를 기록한다. Instances → 대상 역할 선택 → Actions for Selected → Restart로 해당 역할을 재시작한다. 클라이언트 설정 변경 표시가 있으면 Actions → Deploy Client Configuration도 실행한다.
- 실패하거나 기존 기능에 영향이 있으면 같은 화면에서 이전 값을 복원하고 해당 역할을 재시작한다.
서버 측 쿼리별 operation log가 없어지므로 Hue의 상세 쿼리 로그 조회 등에 미치는 영향을 확인한다.
HS2 PID의 /proc//fd 개수가 동일 부하에서 계속 증가하지 않는지 관찰한다.