Hbase服务质量:在Hbase中插入相同类型的行的时间不一致

时间:2012-04-24 19:33:51

标签: hbase

我有一个群集Hbase设置。我有3个区域服务器。有一个表有27个区域,均匀分布在3个区域服务器中 - 每个区域服务器有9个区域。

区域服务器1具有---区域1-9 区域服务器2具有---区域10-18 区域服务器3具有---区域19-27

现在当我启动一个程序在区域1和区域5(都在区域服务器-1下)交替插入行时,我看到每行的插入时间不是恒定的或一致的---那里是很多方差或说插入时间的标准偏差是相当大的。有时,插入行需要2毫秒,有时3毫秒,有时1000毫秒,有时甚至是> 1毫秒。 3000 ms。即使行中的数据大小相等。

据我所知,由于区域的刷新和压缩,写入被阻止 - 但是不应该在更长的时间内阻塞,并且阻塞时间应该对于每次冲洗/压缩(轻微压缩)都是一致的。 / p>

总而言之,每次冲洗和压实发生时,每次压实和冲洗都需要几乎相同的时间。

对于我们的应用,我们需要一致的服务质量,如果不是完美的至少我们需要一个明显可见的边界线 - 就像每行插入一样,它需要0到10毫秒,不超过10毫秒(只是一个例子) )即使发生轻微的压实或冲洗。

我应该尝试任何设置/配置吗?

如何在Hbase中实现它的任何想法。

任何帮助都会非常感激。

提前致谢!!

1 个答案:

答案 0 :(得分:1)

第一次压缩不会阻止你的写作! 我建议你的主要事情是检查区域服务器/客户端上的GC。 BTW你检查过你没有发生分裂吗?

其他一些有助于回答的输入

  1. 数据的大小,列数和列系列数是多少?
  2. 插入的吞吐量是多少?
  3. 您为HBase区域服务器分配了多少内存?
  4. HDFS数据节点与区域服务器位于同一服务器上?
  5. 每台机器有多少个磁盘?