我指的是 Hadoop:了解 Hive 的权威指南。我开始知道它提供了许多“Hive 服务”,例如:cli
、hiveserver2
、beeline
、metastore
等
这是 Hive 服务列表的片段(来自同一本书):
设置元存储的方法(来自同一本书):
我的困惑是:
什么是“Hive 服务 JVM”? (我已在图片中用绿色标记)。它说默认情况下 Metastore 在相同的“Hive 服务 JVM” 中运行,但那个“Hive 服务”是什么?是cli
,还是beeline
,还是hiveserver2
...我无法理解,什么是“Hive Service JVM”。
谁能帮我解开这个疑惑。我引用了很多帖子,但似乎我仍然无法理解这一点。
最佳答案
在同一本书中,它将 beeline 和 Hive cli 放在“Hive Client”框中,而不是“service JVM”。
客户端连接到“驱动程序服务 JVM”(hiveserver2
服务),可以通过三种不同的方式配置它以使用 metastore
服务。默认方式是“嵌入式”Derby 数据库,它本身就是一个 Java 进程。
“本地”元存储在与驱动程序相同的 JVM 中启动(例如,另一个线程),并且可以使用 JDBC 与外部元存储服务器通信。
远程 Metastore 是一个完全独立的 JVM 进程,它在一个单独的网络端口(默认情况下为 9083)上监听,其运行方式与以前没有什么不同,但现在像 Spark、Drill 或 PrestoDB 这样的系统不需要 HiveServer,并且只需要连接到 Metastore 就可以直接连接到它。有 JIRA 票证可以制作其他类型的 Metastore 服务,例如 HBase。
关于hadoop - hive 中的 "Hive Service JVM"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49835699/