我试图从架构的角度来理解hive,我指的是Tom关于Hadoop的书。
在蜂箱方面,我遇到了以下术语:Hive Services、hiveserver2、metastore等。
参考书中的图表(Hadoop:权威指南)。
蜂巢结构:

MetaStore配置:

显示什么是“驱动程序”的蜂巢架构:

我不明白以下几点:
( 1) Hive体系结构图中的Hive Services是什么?我们说hiveserver2是一样的吗?
2) Hive体系结构图中的Driver是什么?
3) MetaStore是什么(我是,而不是指Metastore数据库的)。是某个进程在运行吗?如果是,这是hiveserver2的一部分吗?根据图表,MetaStore可以是远程的,所以如果这是一个JVM进程,那么它属于哪个组件?
4)上面写着Hive service JVM,MetaStore JVM Server。但是,这些组件在哪里安装呢?它们是“蜂巢”“服务器”端的一部分吗?
5)在“蜂巢体系结构”图中,它表示"Hive Server"?这是什么?这是我们所说的"Hive 1“,"Hive Server2”吗?
有人能帮我理解这一点吗?
发布于 2018-04-12 23:02:42
蜂巢服务
司机
JDBC/ODBC或Th裂缝接口有驱动程序。
还有解释查询并将其编译到执行引擎代码的进程。我个人认为这是一个解释器或编译器,而不是驱动程序。
Metastore服务器
不是HiveServer2的一部分。它实际上是运行在RDBMS之上的进程(是的,在运行Hive &Hadoop时仍然需要这些进程)。
支持远程元存储服务器= Oracle、MySQL、Postgres
Embedded Metastore (不推荐用于生产)= Derby
请参阅蜂巢Wiki
Metastore JVM
橙色框显示您可以将这些服务作为驱动程序(解释器)或远程服务器的一部分部署到JVM中。wiki描述了这些设置。
我相信这是一个侧车进程,它将HiveServer2查询映射到MetaStore查询。例如,如何将HiveQL转换为从MySQL或Postgres读取元数据的进程?
是的,它可以在服务器端运行,但这并不是容错和性能原因的推荐设置。
不建议使用HiveServer1。请随意阅读,但不要使用它。
发布于 2018-09-12 09:48:39
我的理解是:
Hive服务包括:HS2(有时可以调用节俭服务器)、驱动程序、编译器、执行引擎。但是这四个组件(HS2、驱动程序、编译器、执行引擎)都在hiverserver2过程中。因此,在蜂箱中,有三个过程:
https://stackoverflow.com/questions/49799838
复制相似问题