HBase详细架构图
zookeeper:
实时监控Region Server的状态,将Region server的上线和下线信息实时通知给Master
存储有table的信息,包括列信息
HMaster:
给HRegionServer分配HRegion
负责HRegionServer的负载均衡
当有HRegionServer失效时,负责重新分配失效的HRegionServer上的HRegion(故障转移)
HRegionServer:
负责处理客户端发过来的请求
负责HRegion的切分
一个HRegionServer可以存储多个HRegion
HRegionServer配有一个HLog组件,这个组件用来保证数据的安全性,数据先发送到Hlog上,再通过HLog发送到HDFS上,再从HLog中把数据发送给HRegion中的MemStore,并将数据存储,存储过程中一个列族对应一个MemStore。
当到达一定条件是MemStore会对数据进行flush(这个过程会对数据进行排序),flush之后数据会以HFile的格式写入HDFS中,同时HLog传入HDFS的数据也会被删除
HLog在HDFS上的目录文件名为:设置的HDFS上存储的文件名下的WALs目录
HFile写入HDFS中的文件名问:设置的HDFS上存储的文件名下的data目录下