2

我们正在尝试使用 Thrift 在集群上扩展 HBase 写入。(我们的 HBase 应用程序使用 Python,因此需要 Thrift。)

尽管集群中的节点数量增加了,但我们看到的写入速度是相同的。

首先,运行 Thrift 的推荐策略是: 1. 客户端?2. HBase 主控?3. HBase 区域服务器?

如果在 #1 或 #2 上,客户端或 HBase 主服务器会负责将请求拆分到各个区域服务器吗?在我们的情况下似乎没有。

如果#3,那么我必须修改客户端以写入特定区域服务器,并随机写入。我可以这样做,但这似乎违背了使用 HBase 的目的。

非常感谢有关读/写缩放(尤其是 Thrift)的任何其他技巧。

4

2 回答 2

2

在 HBase 中,要通过增加节点来获得性能,您应该有一个不错的“rowkey”分布。只要您的集群中有“热点”(一个非常繁忙的区域服务器),您就不会从增加集群大小中获得任何收益。查看有关行键设计的文章。

如果您不需要立即阅读(如果您对异步写入感到满意),您可以从 stumbleupon检查asynch hbase 客户端以获得性能提升。

于 2012-06-25T14:41:08.217 回答
2

我在这两个问题上找到了答案,看起来我们将使用#3(写入特定区域服务器,并随机写入):

于 2012-07-27T14:58:20.987 回答