HiveServer2 and Metastore servers can be on different machines. HS2 can also be configured to get metadata via a remote Metastore server (HS2 opens a TCP client connection to Metastore server) or use an embedded Metastore server (in which case HS2 calls the Metastore Server's API directly: use hive.metastore.uris="" in hiveserver2-site.xml to achieve that).