我正在使用HBase。而且我怀疑rowkey引起了热点。在尝试加盐键之前,我想检查热点是否已经发生。 HBase中是否有任何方法可以分析区域服务器中的数据分布,以检查是否发生了热点?
谢谢,
帕塔
最佳答案
您可以使用HMaster Info Web UI进行检测。
默认情况下应为http://master-address:16010。
如果不可用,则可以检查conf(hbase-site.xml)中是否未禁用UI,并确保hbase.master.info.port未设置为-1。
在它上面时,必须单击要检查的表。
您将在此页面上
https://docs.prediction.io/images/cloudformation/hbase-32538c47.png
然后,如果您发现一台区域服务器比其他区域服务器具有更多的区域,则这很好地暗示了您的一台区域服务器可能已热点。
这意味着rowkey范围的这一部分中的区域被更频繁地分割!每秒的请求数也可以作为一个指标,但以我的经验来看,它并不总是很准确。
但这只是一个很好的提示,我知道确保热点正在发生的唯一简单的好方法就是进行测试。因为发生这种情况时,写入性能确实非常不同。因此,您应该使用具有相同数据的哈希行键检查您的吞吐量,然后进行比较。如果有热点,您会很快看到。
关于hadoop - HBase-热点检查,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37962977/