简介:今天,首席CTO注释与您分享HBASE最大数据的相关内容。如果您可以解决您现在面临的问题,请不要忘记注意此网站。让我们现在开始!
它是HBASE中HBase中一些列的集合。一个列族都具有相同的前缀,实际应用通常为10-100 bytes
HBASE的官方文件说,一个地区旨在运行20个数据大小约为550GB的地区。
但是,建议将其用于约100个地区。
首先,了解一个概念“ MSLAB”,即MemStore-Local Acal Acaration Buffer。
每个商店都有一个模子。为了避免编写大量数据,在堆中生成了许多片段,导致停止蠕虫GC出现,设置hbase.hregion.memstore.mmstore.mslab.enabled以防止此问题。,本地模拟允许分配的内存大小。
当Hregion中所有模拟的所有大小都大于HBase.hregion.memstore.flush.size的大小时,这次默认值为128mb.size,当前Hregion中的所有memstore都将冲向HDFS。
当全局模式的大小超过HBase.gregionserver.global.memstore.uperplimit的大小时,内存使用量为40%默认值。这次,Hregionserver中的所有Hregion in Hregionser in Hegionserver中的所有HDFS都将转到FLUSH至HDFS的HDFS。冲洗序列是Messtore的大小。直到MEMSTORE的总数低于HBASE.GRIGIONERVER.MEMSTORE.LOWERLIMIT,默认情况下有38%的内存使用情况。
然后,然后
HBase最佳实践的区域数量
通常较少的区域数量可以使群集更稳定。官方指出,当每个地区服务器大约100个地区时,效果是最好的。原因如下:
因此,如果Hregion中有太多的成员,并且大多数人经常写数据,则每次冲洗费用都不会很大,因此我们还建议我们在设计表设计时最小化柱子的数量。成员。当大小达到上限时(hbase.hregion.memstore.flush.size,默认为128MB)时,它将触发memstore刷新。
计算区域区域数的公式:(rs xmx) * hbase.gregionserver.global.memstore.size) /(hbase.hregion.memstore.flush.size *(#列族))
假设RS具有16GB的内存,然后16384*0.4/128M等于51个活动区域。
如果您写一个繁重的场景,则可以适当地增加HBase.gregionserver.global.memstore.size,可以容纳更多的区域。
建议分配合理数量的区域。根据请求的情况,通常20-200可以提高集群稳定性,消除许多不确定的因素并改善读取性能。无论区域服务器中所有模拟器的总大小是否已达到上限(HBASE.Regionserver)。global.memstore.upperlimit * hbase_heapsize,默认的40%JVM内存使用),超过可能会导致不良后果,例如黄昏或紧凑型振动。
HBASE中的数据将在开始时写入Memstore。在128MB(请参阅配置)之后,冲洗将成为磁盘上的仓库。当仓库数量超过触发因数(配置)时,它将开始压实过程以将其合并到仓库中。集群。当组合的仓库大于最大限制时,它将触发分区并将其切成两个区域。
hbase.hregion.max.filesize不应太大或太小。实际战斗之后,生产高的并发操作,最佳尺寸是某些重要方案的HBase表的5-10GB!Major_compact!在非峰值期间调用Major_compact,可以在提供群集的性能时减少分裂,吞吐量,非常有用。
注意:您可以通过HBASE的UI控制台监视区域的数字指标!!!
结论:以上是首席执行官注释引入的HBase最大数据的总内容。我希望这对每个人都会有所帮助。如果您想了解有关此信息的更多信息,请记住收集并关注此网站。