1. 本际云推荐 - 专业推荐VPS、服务器,IDC点评首页
  2. 云主机运维
  3. VPS运维

hbase读写原理

HBase读写原理

在HBase中,读写是两个核心操作,下面将介绍HBase的读写流程。

hbase读写原理

HBase读流程

在HBase中,读流程包括以下步骤:

  1. Client访问zookeeper,并从meta表读取region的位置和数据。
  2. 根据namespace、表名和rowkey在meta表中找到对应的region信息。
  3. 找到该region对应的regionserver。
  4. 查找对应的region。
  5. 先从MemStore中查找数据,没有再从BlockCache中读取。
  6. 如果BlockCache中仍没有,再从StoreFile中读取。
  7. 如果从StoreFile中读取数据,则先写入BlockCache,再返回给客户端。

HBase写流程

在HBase中,写流程包括以下步骤:

  1. Client向HregionServer发送写请求。
  2. HregionServer将数据写到HLog(writeaheadlog)。
  3. HregionServer将数据写到内存(MemStore)。
  4. 反馈Client写成功。

此时,数据还未写到磁盘上,如果发生故障可能会导致数据丢失,因此需要进行数据flush。

数据flush过程

当MemStore中的数据达到阈值(默认为128M)时,将数据刷到硬盘上,同时将数据删除,删除HLog中的历史数据,并将数据存储到HDFS中。

在写入过程中,如果数据量较大,会进行数据合并和拆分。

数据合并过程

数据块达到4块时,Hmaster将数据块加载到本地进行合并。当合并的数据超过256M时,进行拆分,并将拆分后的Region分配给不同的HregionServer进行管理。当HregionServer宕机后,将Hlog拆分,然后分配给不同的HregionServer加载,修改.META.。

当出现HLog灾难时,可以使用以下方法进行恢复:

  1. 不要对regionserver进行任何操作,持续观察WALlog日志是否在跟新恢复。
  2. 等待HLog灾难恢复完成后观察GC,若GC几乎没有再次积压,则前端业务可以正常处理积压。

以上是HBase读写的原理和流程,希望对读者有所帮助。

原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/6289.html