하이브 설정

하이브 설정 (AdminManual Configuration)

하이브를 잘 운영하려면 설정을 이해해야 해요. 이 페이지는 Hive 구성에 관한 관리 매뉴얼로, 임시 폴더부터 HCatalog·WebHCat 설정까지 다뤄요. Hive의 동작을 좌우하는 구성 변수는 HiveConf 자바 클래스가 관리하는데, 버전별로 도입된 속성 목록이 이 문서에 정리돼 있어요.

출처: https://cwiki.apache.org/confluence/display/Hive/AdminManual+Configuration

임시 폴더(Temporary Folders) 설정을 먼저 봐요. HDFS 클러스터에서 Hive의 임시 폴더는 기본 /tmp/hive-<username>이고, 구성 변수 hive.exec.scratchdir로 제어해요. 클라이언트 머신에서는 /tmp/<username>으로 하드코딩돼 있어요.

Hive의 사용자 구성 속성(Configuration Properties)은 매개변수·변수·옵션으로 불러요. 문서에 어떤 릴리스가 어떤 속성을 도입했는지가 기록돼 있고, 사용 가능한 전체 속성 목록은 HiveConf 자바 클래스가 canonical한 기준이에요. 이 속성들을 어떻게 쓰는지는 Configuring Hive 문서에서 다루고, 그 문서에는 Hive를 셋업하기 위한 관리자용 구성 속성도 함께 설명돼 있어요. Hive Metastore Administration은 메타스토어 전용 구성 속성을 추가로 다뤄요.

HCatalog는 하둡의 테이블·스토리지 관리 레이어예요. Hive 0.11.0 이전 릴리스의 설정은 HCatalog 0.5.0 문서의 "Thrift Server Setup" 섹션을 참고해야 해요. WebHCat 설정은 WebHCat Configuration 문서에서 확인할 수 있어요. WebHCat은 HTTP(REST) 인터페이스로 하둡·Hive·Pig 잡을 실행하고 메타데이터 작업을 수행하는 서비스예요.

HCatalog을 쓸 때 주의할 점이 있어요. 여러 클라이언트가 MySQL 같은 백킹 데이터베이스의 메타스토어에 동시에 접근하면, hive-site.xml 설정 파일에 데이터베이스 연결 자격증명이 노출될 수 있어요. 데이터가 HDFS 접근 제어로 보호된다 하더라도, 악의적이거나 부주의한 사용자가 메타데이터에 심각한 손상을 줄 수 있으니 메타스토어 보안에 신경을 써야 해요.

더 알아보기

  • 구성 속성 전체 목록은 Configuration Properties 문서와 HiveConf.java에서
  • 메타스토어 전용 설정은 Hive Metastore Administration에서