CuriousMind
CuriousMind

Reputation: 8903

"Hive Service JVM" in Hive?

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.

Here is the snippet of list of Hive Service (from the same book):

enter image description here

Ways of setting the metastore (from the same book):

enter image description here

My confusion is:

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

Answers (1)

OneCricketeer
OneCricketeer

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

Related Questions