Hbase:写入区域时区域分裂

时间:2016-05-02 18:02:46

标签: hbase

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

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

2 个答案:

答案 0 :(得分:0)

这就是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);

答案 1 :(得分:0)

答案是否定的。

  

如果RegionServer未联机或抛出   NotServingRegionException,主服务器将区域移动到OFFLINE   state并将其重新分配给不同的RegionServer。

https://hbase.apache.org/book.html#regions.arch.stateshttps://hbase.apache.org/book.html#arch.region.splits