clear.dangling.scratchdir.interval을 바꿨지만 파일 보존 기간과 맞지 않거나 _resultscache_가 계속 남고 final parameter 경고가 발생한다.
원본에서는 결과 캐시를 scratch로 오인한 부분이 확인됐다. lock 추가와 설정 변경 후 운영 환경의 최종 정리 결과는 확인되지 않았으므로 해결 확인으로 표시하지 않는다.
정리 실행 간격과 파일 보존 기간을 구분하고, HS2에 실제 적용된 설정·scratch lock·대상 경로를 확인한다. 결과 캐시는 scratch 정리 검증 대상에서 분리한다.
확인 수준: 추가 조사 해법 · 해당 케이스 적용 결과 미확인
적용 조건: <...>와 예시 DB·테이블·경로·수치는 실제 확인값으로 바꾼다. 명령과 메뉴는 참고 문서를 바탕으로 보강한 예시이며 대상 시스템에서 실행하지 않았다. 버전·원인에 따른 분기와 남은 확인 사항은 아래에 명시한다.
/tmp는 서로 다른 저장소다.SET hive.exec.scratchdir;
SET hive.scratchdir.lock;
SET hive.start.cleanup.scratchdir;
SET hive.server2.clear.dangling.scratchdir;
SET hive.server2.clear.dangling.scratchdir.interval;
| 속성 | 예시 값 | 확인 목적 |
|---|---|---|
| hive.server2.clear.dangling.scratchdir | true | 사용하지 않는 scratch 정리 활성화 |
| hive.server2.clear.dangling.scratchdir.interval | 172800s | 정리 실행 간격 |
| hive.scratchdir.lock | true | 사용 중인 scratch를 식별하는 lock |
attempt to override final parameter가 실제로 찍히면 같은 속성의 중복 설정과 final 지정 위치를 확인한다. 원본에서 안내된 해당 속성의 final 해제는 설정 충돌을 해결하는 조치이며, 이것만으로 정리가 해결됐다고 확인되지는 않았다. 다른 속성의 final을 일괄 해제하지 않는다.hive.start.cleanup.scratchdir은 서버 시작 시 정리이므로 주기 설정과 별도로 고려한다. 사용 중인 여러 HS2가 scratch를 공유하면 모든 역할의 설정과 재시작 시점을 대조한다.hdfs dfs -ls '<actual-hdfs-scratch-path>'
hdfs dfs -ls '<actual-hdfs-scratch-path>/<test-user>'
_resultscache_는 별도 쿼리 결과 캐시이므로 그 디렉터리가 남아 있다는 사실만으로 scratch 정리 실패를 판정하지 않는다. 운영 /tmp/hive 전체를 수동 삭제하지 않는다.final override 경고가 사라지고 각 HS2의 실제 값이 일치하는지 확인한다. 사용 중인 scratch는 보존되고 사용 종료된 정리 대상이 주기 작업에서 제거되는지 검증한다.