HBase:一个区域服务器每秒拥有所有请求



我有一个在AWS EMR上运行的高可用性(HA(HBase。HA HBase意味着我有3个主节点,而不是一个。我还有61个区域服务器使用HBase UI,我看到我的一个区域服务器每秒大约有1000个请求,其余区域服务器每秒有大约60个请求。

这种不匹配意味着什么?如何解决此问题?

谢谢

这是"hotstpotting"的常见标志——您的表没有以使所有区域服务器都能参与服务的方式进行拆分。

您需要考虑应用程序的访问模式,并将其与实际如何拆分表以及如何设计行键的现实进行比较。

为了找到最简单的方法,我建议如下:

  1. 在HBase UI中,注意获得所有点击的区域服务器
  2. 该区域服务器链接上的时钟(其名称可单击(
  3. 这将打开该特定区域服务器的UI。向下滚动,您将看到该区域服务器正在服务的所有表中的所有区域。您还将看到每个区域服务器的实际"开始"one_answers"结束">

这些信息应该可以帮助您确定问题所在:这个区域服务器是否提供了太多的表?还是太多繁忙的地区?为什么其他服务器没有分配这些区域?也许你设计行键的方式会导致热点(通常最可能的问题(

如果不是这样的话,那么我注意到的一件事是,即使您将表设计为相等的拆分(例如使用十六进制拆分器(,您仍然可能会出现同一繁忙表中有太多繁忙区域只分配给一台服务器的情况。在这种情况下,HBase有一个方便的属性,可以在表级别强制跨不同服务器进行均匀的区域分布。

相关内容

最新更新