# HBase HMaster

Region assignment, DDL (create, delete tables) operations are handled by the HBase Master. Technically **HMaster**

is the implementation of the Master Server. The Master server is responsible for monitoring all RegionServer instances in the cluster, and is the interface for all metadata changes. In a distributed cluster, the Master typically runs on the NameNode. A cluster may have multiple masters, all Masters compete to run the cluster. If the active Master loses its lease in ZooKeeper (or the Master shuts down), then the remaining Masters jostle to take over the Master role.

A master is responsible for:

* Coordinating the region servers
  * Assigning regions on startup , re-assigning regions for recovery or load balancing
  * Monitoring all RegionServer instances in the cluster (listens for notifications from zookeeper)
  * is responsible for assigning regions to region servers and uses Apache ZooKeeper , a reliable, highly-available, persistent, and distributed coordination service, to facilitate that task.&#x20;
* Admin functions
  * Interface for creating, deleting, updating tables
  * responsible for handling load balancing of regions across region servers, to unload busy servers and move regions to less occupied ones. In addition, it takes care of schema changes and other metadata operations, such as creation of tables and column families.

![](/files/-LsbZ_6dLZ-FCYZsSiGD)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://nag-9-s.gitbook.io/hbase/hbase-architecture/hbase-hmaster.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
