hbase-写操作

上一篇中学习hbase的client连接操作,这一篇文章中学习hbase的写操作。

regionServer结构:

首先学习一下regionServer的构成,从图中可以很清楚的看出,regionServer包含了Hlog,HRegion,MemStore,store,StoreFile,HFile

HRegion:是分布式存储的和负载均衡最小单元,通过表按行切分的来。开始一张表只有一个region,当数据不断的写入,region不断的变大,超过设置的阈值,region开始分裂成两个region,master会对这些region重新分配到不同的regionserver上。

hlog(wal):hbase的日志存储,hbase的数据首先写入到hlog中,hlog的数据是存储在hdfs上的,当机器出现宕机情况,可以通过hlog快速的恢复丢失的数据。

store:region有一个或者多个store,一个列簇建立一个store,多个列簇有多个store,每个store中包含一个Memstore和多个StoreFile

MemStore:MemStore为写时缓存,hbase的数据写入并不是直接写入到Hfile中,而是先写入到MemStore中,大小超过设置的阈值后flush到HFile中

StoreFile:MemStore数据写入到文件后就是StoreFile,底层为HFile

HFile:数据存储在hdfs上的文件

扫描二维码关注公众号,回复: 3701158 查看本文章

数据的写入流程:

  • 数据首先写入到wal中
  • 然后数据写入到MemStore中
  • 当MemStore中的数据大小超过阈值,flush到HFile中

当机器出现宕机情况,因为wal和HFile中的数据存储在hdfs中,并不会出现数据丢失情况,数据丢失的是在MemStore中尚未flush到HFile的数据,可以从wal将这部分数据从新恢复

猜你喜欢

转载自www.cnblogs.com/cnblog-ycc/p/9841499.html
今日推荐