我有一个群集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中实现它的任何想法。
任何帮助都会非常感激。
提前致谢!!
答案 0 :(得分:1)
第一次压缩不会阻止你的写作! 我建议你的主要事情是检查区域服务器/客户端上的GC。 BTW你检查过你没有发生分裂吗?
其他一些有助于回答的输入