Hbase:写入区域时区域分裂

  • 本文关键字:区域 分裂 Hbase hbase
  • 更新时间 :
  • 英文 :


我的生产系统是CDH3,(旧但仍在使用)

我有几个区域的storefilesAizeMB超过200K。我想知道我是否可以分割一个区域,同时也可以写入该区域?

当区域变大时,Hbase就是这样做的。但这是一个缓慢的过程,它会影响你的写作表现。

最佳做法是在创建数据库时根据数据模型预拆分区域。下面是一个小代码片段:

HTableDescriptor desc = new HTableDescriptor(tableName); // Tablename tablename
HColumnDescriptor coldef = new HColumnDescriptor(Bytes.toBytes("CON"));
desc.addFamily(coldef); // add the cf to the table
// function to get all regions looking at the data
// it is an array which stocks the prefix of each regions
byte[][] regions = getRegions();
admin.createTable(desc, regions);

答案是否定的。

如果RegionServer未联机,或引发NotServingRegionException,master将区域移动到OFFLINE状态,并将其重新分配给不同的RegionServer。

参见https://hbase.apache.org/book.html#regions.arch.states和https://hbase.apache.org/book.html#arch.region.splits

最新更新