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编译器,而不是客户端操作