Hive server 는 하이브 쿼리를 실행할 수 있는 API를 제공합니다. 원격 또는 여러 툴에서 Hive에 접속하기 위해서는 hiveserver가 필요합니다.
Apache Thrift 는 언어 간 서비스 개발을 위해 확장 가능한 프레임워크로
Hive 는 테이블과 파티션과 관련된 메타정보를 모두 메타스토어에 저장합니다. 기존 RDBMS와 다르게 insert 후 스키마를 입력합니다. 스키마 정보는 메타스토어에서 참조하여 가져옵니다.
실행 후 연동과정에서 쿼리문을 사용하거나 테이블을 생성하는 등 여러 작업이 필요하기 때문에 Hive server 와 동시에 hivemetastore 까지 실행시켜야 합니다.
hiveserver2 실행
hive --service hiveserver2
백그라운드에서 실행 -> hive --service hiveserver2 &
hivemetastore 실행
hive --service metastore
백그라운드에서 실행 -> hive --service metastore &
hiveserver2와 hivemetastore를 실행하게 되면
serverProtocolVersion is unset 이라는 오류와 함께 User: hadoop is not allowed to impersonate hadoop 이라는 오류가 생길 수 있습니다.
해당 오류는 설정을 통해 해결할 수 있습니다.
hive-site.xml에서
<property>
<name>hive.server2.enable.doAs</name>
<value>false</value>
</property>
를 통해 false로 설정하고 hive를 재시작하게 되면 접속이 가능합니다.
True로 설정했을 때, blaze와 spark 엔진이 dis 사용자 또는 hive를 실행시킬 수 있는 사용자로 테이블에 접근 가능합니다. ( 정해진 계정만 접근 가능 )
False로 설정했을 때, hiveserver2에서 hive user로 mapreduce를 실행할 수 있습니다. ( 모든 계정으로 접근가능 )
'Hadoop > Apache Hive' 카테고리의 다른 글
Apache Hive 설치 2 ( HIVE 설치 및 설정 ) (0) | 2023.07.21 |
---|---|
Apache Hive 설치 3 ( HIVE 테스트 ) (0) | 2021.09.24 |
Postgresql 간단 명령어 (0) | 2021.09.24 |
Apache Hive 설치 1 ( Postgresql 설치 ) (0) | 2021.09.24 |