Hadoop 配置单元服务、配置单元服务器2&;元存储服务?

Hadoop 配置单元服务、配置单元服务器2&;元存储服务?,hadoop,hive,hive-metastore,Hadoop,Hive,Hive Metastore,我试图从体系结构的角度理解hive,我指的是Tom White关于Hadoop的书 关于hive,我遇到了以下术语:hive服务、hiveserver2、metastore 参考书中的下图(Hadoop:最终指南) 蜂巢架构: 元存储配置: 显示“驱动程序”的配置单元体系结构: 我无法理解以下内容: 1) 蜂巢架构图中的蜂巢服务是什么?当我们说hiveserver2时,情况是否相同 2) 蜂巢架构图中的驱动程序是什么 3) 什么是MetaStore(我不是指的是MetaStore数据库)。

我试图从体系结构的角度理解
hive
,我指的是Tom White关于Hadoop的书

关于hive,我遇到了以下术语:
hive服务
hiveserver2
metastore

参考书中的下图(Hadoop:最终指南)

蜂巢架构:

元存储配置:

显示“驱动程序”的配置单元体系结构:

我无法理解以下内容:

1) 蜂巢架构图中的
蜂巢服务是什么?当我们说hiveserver2
时,情况是否相同

2) 蜂巢架构图中的
驱动程序是什么

3) 什么是
MetaStore
(我不是指的是MetaStore数据库)。它是运行的某个进程吗?如果是,这是hiveserver2的一部分吗?如图所示,
MetaStore
可以是远程的,那么如果这是一个JVM进程,它属于哪个组件

4) 它说的是
Hive-service-JVM
MetaStore-JVM-Server
。但是,这些组件安装在哪里?它们是“蜂巢”的“服务器”端的一部分吗

5) 在“配置单元架构”图中,它说“配置单元服务器”?这是什么?这就是我们说的“蜂巢服务器1”、“蜂巢服务器2”吗

有人能帮助理解这一点吗?

Hive Services
  • HiveServer2
  • 蜂巢元存储
  • HCatalog+WebHcat
  • 直线和蜂巢CLI
  • 节俭客户
  • HDFS和其他兼容的文件系统,如S3
  • 执行引擎::MapReduce、Tez、Spark
  • 配置单元Web UI(添加到配置单元2.x中)。也许还有Tez或Spark UI,但不是真的
司机 JDBC/ODBC或Thrift接口具有驱动程序。
还有解释查询并将其编译为执行引擎代码的过程。我个人称之为解释器或编译器,而不是驱动程序

元存储服务器 不是HiveServer2的一部分。它实际上是一个运行在RDBMS之上的进程(是的,运行Hive和Hadoop时仍然需要这些)

支持的远程元存储服务器=Oracle、MySQL、Postgres
嵌入式元存储(不建议用于生产)=Derby

元存储JVM

橙色框显示您可以将这些服务部署为与驱动程序(解释器)或远程服务器相同的JVM的一部分。wiki描述了这些设置

我相信这是一个将HiveServer2查询映射到MetaStore查询的辅助过程。例如,如何将HiveQL转换为从MySQL或Postgres读取元数据的过程

可以在服务器端运行,但出于容错和性能原因,不建议使用此设置

。请随意阅读,但不要使用它

我的理解是:

配置单元服务包括:HS2(有时可能调用thrift server)、驱动程序、编译器、执行引擎。但这四个组件(HS2、驱动程序、编译器、执行引擎)都在hiverserver2进程中。因此,在hive中,有三个过程:

  • HS2(包括HS2或thrift服务器、编译器、执行引擎)
  • 元存储
  • WebHCat

该功能分布在所有组件上。HiveServer2接受查询请求,联系元存储,计算一些查询优化,然后为适当的执行引擎提交容器。结果反馈到HiveServer2,并作为结果集收集到clientBeeline是一个JDBC驱动程序,所以是的。再说一次,我不会把那个橙色的盒子叫做司机。它本质上是执行引擎运行时的SQL编译器,而不是客户端操作