Reputation: 8903
I am referring to Hadoop: The definitive guide to understand Hive. I came to know that there are many "Hive Services" which it provides like: cli
, hiveserver2
, beeline
, metastore
etc.
What is "Hive Service JVM"? (I have marked that in GREEN in the pictures). It says by default metastore runs in same "Hive Service JVM", but what is that "Hive Service"? Is it cli
, or beeline
or hiveserver2
... I am not able to understand , what is the "Hive Service JVM".
Can anyone help me clarify this doubt. I referred to many posts, but seems I am still not able to understand this.
Upvotes: 0
Views: 873
Reputation: 191831
In the same book, it puts beeline and Hive cli in the "Hive Client" boxes, not the "service JVM".
The clients connect to the "driver service JVM" (hiveserver2
service), which is configurable in three different ways to use the metastore
service. The default way being an "embedded" Derby database, which is a Java process itself.
A "local" metastore is started in the same JVM as the driver (for example, another thread), and could use JDBC to communicate with an external metastore server.
The remote metastore is an entirely separate JVM process that listens on a separate network port (9083, by default) that operates no differently than before, but now systems like Spark, Drill, or PrestoDB that don't require HiveServer, and only need to connect to the metastore can connect directly to it. There are JIRA tickets to make other types of metastore services, such as HBase, for example.
Upvotes: 1