Introduction to HBase
Hadoop Database (HBase) is a highly reliable, high-performance, column-oriented, and scalable distributed storage system, enabling users to establish large-scale structural storage clusters on PC servers.
HBase consists of three components: HMaster, HRegionServer, and ZooKeeper.
HMaster
HMaster is the controller of the HBase and has the following responsibilities:
- Perform load balancing.
- Manage permissions (using ACL).
- Recycle junk files in the HDFS.
- Manage metadata of namespaces and tables.
- Create, delete, and update tables (updating column families).
- Allocate regions: Allocate regions upon startup; reallocate regions on the invalid RegionServer; allocate regions during division.
HRegionServer
HRegionServer is the actual HBase reader/writer and has the following responsibilities:
- Divide regions.
- Interact with HDFS and manage table data.
- Respond to read and write requests from clients and perform I/O operations.
ZooKeeper
ZooKeeper is the HBase coordinator and has the following responsibilities:
- Store table metadata in HBase.
- Ensure that only one HMaster in the cluster is in active state.
- Store hbase:meta, that is, location information of all regions.
- Monitor the RegionServer status and report the RS online and offline status to HMaster.
- The ZooKeeper cluster uses the Paxos protocol to ensure the node status consistency.
Parent topic: Introduction