Why it matters

HBase operational problems almost always trace back to one of these components. A slow write path is usually a RegionServer or HDFS problem. A stuck region is usually an HMaster or ZooKeeper problem. A cluster that will not start is usually a ZooKeeper problem. Knowing which component owns which behavior is what makes debugging fast.

The architecture also has strong implications for capacity planning. RegionServer count scales linearly with data; HMaster scales more with schema complexity than data volume; ZooKeeper scales barely at all.

Advertisement

The architecture

The HMaster is a lightweight coordinator. It handles region assignment (which RegionServer owns which region), schema changes (create table, alter table), and load balancing (moving regions between servers). It is not on the read or write hot path — clients bypass the HMaster entirely for data operations.

RegionServers are the workhorses. Each hosts many regions, and for each region it manages the write-ahead log, memstores, HFile references, block cache, and compactions. Every read and write goes through a RegionServer.

HBase cluster componentsHMasterassignment + DDLRegionServersserve reads + writesZooKeepercoordinationHDFS DataNodes underneath everything — actual bytes live in HDFS blocks
Four HBase components: HMaster, RegionServers, ZooKeeper, HDFS underneath.
Advertisement

How it works end to end

ZooKeeper stores cluster state: which HMaster is active, which RegionServers are alive, and where the special meta table lives. On startup, clients contact ZooKeeper to find the meta region and then the meta region tells them which RegionServer owns each region. Clients cache this mapping and use it to route reads and writes directly to the correct RegionServer.

HDFS holds all the persistent data. Every write to HBase eventually becomes bytes in HDFS: the WAL is an HDFS file, HFiles are HDFS files, and even the meta table is HDFS-backed. HBase gains HDFS's replication and durability guarantees for free.

Failover flows are what tie the components together. If an HMaster dies, ZooKeeper elects a new one from standbys. If a RegionServer dies, the HMaster reassigns its regions to peers, and the new peers replay the WAL to recover any in-memory state. If a ZooKeeper node dies, the quorum protocol continues without it.