복붙노트

[HADOOP] 하이브 서비스, HiveServer2 & MetaStore 서비스?

HADOOP

하이브 서비스, HiveServer2 & MetaStore 서비스?

나는 건축 측면에서 하이브를 이해하려고 노력하고 있으며, 나는 하둡 (Hadoop)에 관한 톰 화이트 (Tom White)의 저서를 언급하고있다.

나는 하이브에 관해서 하이브 서비스, 하이버 서버 2, 다른 것들 중에서도 다음과 같은 용어를 발견했다.

도서 (Hadoop : The Definitive Guide)의 아래 다이어그램을 참조하십시오.

나는 다음을 이해할 수 없다.

1) 하이브 아키텍처 다이어그램의 하이브 서비스 란 무엇입니까? 우리가 hiveserver2라고 말할 때도 마찬가지입니까?

2) 하이브 아키텍처 다이어그램의 드라이버 란 무엇입니까?

3) MetaStore 란 무엇입니까 (Metastore Database를 언급하지 않습니다). 실행되는 프로세스인가요? 그렇다면 hiveserver2의이 부분입니까? 다이어그램에 따라 MetaStore는 원격 일 수 있습니다. 따라서 이것이 JVM 프로세스 인 경우 어떤 구성 요소에 속합니까?

4) Hive 서비스 JVM, MetaStore JVM Server라고합니다. 그러나 이러한 구성 요소는 어디에 설치됩니까? 그들은 "하이브"의 "서버"부분에 속해 있습니까?

5) "하이브 아키텍처"다이어그램에서 "하이브 서버"라고 말합니까? 이게 뭐야? 이것은 "하이브 서버 1", "하이브 서버 2"라고 말합니다.

아무도 이것을 이해하는 데 도움이 될 수 있습니까?

해결법

  1. ==============================

    1.JDBC / ODBC 또는 Thrift 인터페이스에는 드라이버가 있습니다. 또한 쿼리를 해석하고 실행 엔진 코드로 컴파일하는 프로세스가 있습니다. 필자는 개인적으로 운전자가 아니라 통역사 또는 컴파일러라고 부릅니다.

    JDBC / ODBC 또는 Thrift 인터페이스에는 드라이버가 있습니다. 또한 쿼리를 해석하고 실행 엔진 코드로 컴파일하는 프로세스가 있습니다. 필자는 개인적으로 운전자가 아니라 통역사 또는 컴파일러라고 부릅니다.

    HiveServer2의 일부가 아닙니다. 말 그대로 RDBMS에서 실행되는 프로세스입니다 (예, Hive & Hadoop을 실행할 때 여전히 필요합니다).

    지원되는 원격 Metastore 서버 = Oracle, MySQL, Postgres Embedded Metastore (프로덕션에는 권장되지 않음) = Derby

    Hive Wiki보기

    Metastore JVM

    주황색 상자는 이러한 서비스를 드라이버 (인터프리터)와 동일한 JVM의 일부로 또는 원격 서버로 배치 할 수 있음을 보여줍니다. 위키에서는 이러한 설정을 설명합니다.

    HiveServer2 쿼리를 MetaStore 쿼리에 매핑하는 사이드 카 프로세스라고 생각합니다. 예를 들어, HiveQL을 MySQL 또는 Postgres에서 메타 데이터를 읽는 프로세스로 어떻게 변환합니까?

    예, 서버 측에서 실행할 수 있지만 이는 내결함성 및 성능상의 이유로 권장되는 설정은 아닙니다.

    HiveServer1은 더 이상 사용되지 않습니다. 자유롭게 사용해보십시오. 사용하지 마십시오.

  2. ==============================

    2.내 이해는 다음과 같습니다.

    내 이해는 다음과 같습니다.

    하이브 서비스는 다음을 포함합니다 : HS2 (때때로 중고 서버를 호출 할 수 있음), 드라이버, 컴파일러, 실행 엔진. 그러나이 4 가지 구성 요소 (HS2, 드라이버, 컴파일러, 실행 엔진)는 모두 hivererver2 프로세스에 있습니다. 하이브에는 세 가지 프로세스가 있습니다.

  3. from https://stackoverflow.com/questions/49799838/hive-service-hiveserver2-metastore-service by cc-by-sa and MIT license