如果具有hbase表区域的节点发生故障,将会发生什么

GHK*_*GHK 1 hbase

我们在HBase中有一个表,其中预分割数为16(创建的区域数为16),我们还将一些数据加载到表中,我们可以看到数据根据我们定义的分割移动到不同的区域.

在这里,我们对该地区的概念几乎没有怀疑.

  1. 如果其中一个节点发生故障(如果该节点具有HBase表的某个区域),会发生什么?并且还可以获取/扫描特定于HBase表的该区域的数据

  2. 将整个区域复制到其他节点或它将如何工作?

谁可以帮我这个事.

Arn*_*-Oz 7

一般来说,HBase将数据存储在Hadoop上,Hadoop会复制群集中的数据(默认情况下有3个副本,但您可以更改它).当/如果RegionServer崩溃,Master会将该服务器处理的区域分配给其他regionServer.

但是,由于HBase不直接将数据写入文件,而是首先在内存中缓冲数据,因此该过程更为复杂.但是它会将任何新数据写入WAL(预写日志),因此当发生崩溃时,它还会在恢复完成之前重放WAL.

另请注意,此处有更多详细信息,例如围绕数据位置,HBase如何确保数据被复制等等.您可以在此处阅读其中的一些内容