1

I have a cluster Hbase set-up. In that I have 3 Region Servers. There is a table which has 27 Regions equally distributed among 3 Region servers--9 regions per region server.

Region server 1 has ---region 1-9 Region server 2 has ---region 10-18 Region server 3 has ---region 19-27

Now when I start a program which inserts rows in region 1 and region 5 (both under Region Server-1) alternatively and on continuous basis, I see that the insert time for each row is not constant or consistent---there is a lot of variance or say standard deviation of insert time is quite large. Some times it takes 2 ms to insert a row, sometimes 3 ms,sometimes 1000 ms and sometimes even > 3000 ms.Even though data size in rows is equal.

I understand that due to flushing and compaction of Regions the writes are blocked---but then it should not be blocked for larger span of time and the blockage time should be consistent for every flush/compaction (minor compaction).

All in all every time flush and compaction occurs it should take nearly same time for each compaction and flush.

For our application we need a consistent quality of service and if not perfect atleast we need a well visible boundary lines--like for each row insert it will take some 0 to 10 ms and not more than 10 ms(just an example) that even though minor compaction or flush occurs.

Is there any setting/configuration which I should try?

Any ideas of how to achieve it in Hbase.

Any help would be really appreciated.

Thanks in advance!!

4

1 回答 1

1

第一次压缩不会阻止您的写入!我建议你的主要事情是检查区域服务器/客户端上的 GC。顺便说一句,您是否检查过您没有发生分裂?

其他一些可以帮助回答的输入

  1. 数据的大小是多少,有多少列和多少列族?
  2. 您插入的吞吐量是多少?
  3. 您为 HBase 区域服务器分配了多少内存?
  4. HDFS 数据节点与区域服务器在同一台服务器上?
  5. 每台机器有多少个磁盘?
于 2012-05-09T19:39:06.603 回答