If you analyze data using Hive, Impala, or Spark, you need a high-level understanding of
Hive metastore (HMS). You learn about this separate service, not part of Hive, not even
necessarily on the same cluster is important. HMS might stores the metadata on the backend of your
cluster for Hive, Impala, Spark, and other components.
Beeline, Hue, JDBC, and Impala shell clients make requests through thrift or JDBC to
HiveServer. The redundant HiveServer is passive and provides fail-over services. The HiveServer
instance reads/writes data to HMS. One or more HMS instances on the backend can talk to other
services, such as Ranger. The redundant HMS is passive and provides fail-over services. The
physical data resides in a backend RDBMS, one for HMS and one for the security service, Ranger
for example. All connections are routed to a single RDBMS service at any given time. HMS talks to
the NameNode over thrift and functions as a client to HDFS.