1、client
HBase集群提供的一些客户端操作表的API,后期通过这些API去操作HBase表的数据。
2、ZooKeeper
-
保证HBase集群的高可用。
-
接受和保存HBase中HMaster和HRegionServer的注册和心跳信息。
-
保存了HBase集群的元数据信息。
-
他是所有HBase表的寻址入口:客户端程序要操作HBase表,必须要有连接上ZooKeeper。
3、HMaster:HBase集群的老大
-
接受客户端的创建表和删除表的操作。
-
给HRegionServer小弟分配对应的region去管理。
-
实现HRegionServer负载均衡,也就是说避免某个HRegionServer管理的region过多。
-
发现挂掉的HRegionServer之后,把他所管理的region重新分配给其他的活着的HRegionServer.
4、HRegionSer:HBase集群的小弟
-
接受客户端的读写数据的请求。
-
接受HMaster给她分配的region,并且进行管理。
-
切分在运行过程中变得过大的region
-
负责与底层HDFS进行交互,存储数据到HDFS上
-
负责storefile的合并工作。
5、region
HBase表中分布式存储的最小单元。