Hbase集群调优

本文详细探讨了HBase集群的硬件资源理论性能,包括集群容量规划公式、CPU需求和软硬件独立集群的配置建议。接着,介绍了HBase集群的调优参数,如Memstore大小和Region个数的计算。此外,还根据实际业务场景提出了冷热数据处理、数据读写比例调整、Bloom Filter应用和GC优化等策略,以提升HBase的读写性能和整体效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一:hbase现有硬件资源的理论性能

1.集群容量规划公式:

优化调整,发挥硬件的最大优势;

Disk Size / Java Heap=RegionSize / MemstoreSize * ReplicationFactor * HeapFractionForMemstore *2

按照默认配置,

  1. RegionSize = 10G,对应参数为hbase.hregion.max.filesize;
  2. MemstoreSize = 128M,对应参数为hbase.hregion.memstore.flush.size;
  3. ReplicationFactor = 3,对应参数为dfs.replication;
  4. HeapFractionForMemstore = 0.4,对应参数为hbase.regionserver.global.memstore.lowerLimit;

推导公式;

  • 硬盘容量纬度下Region个数:
    Disk Size / (RegionSize * ReplicationFactor)
  • Java Heap纬度下Region个数:
    Java Heap * HeapFractionForMemstore / (MemstoreSize / 2 )
Disk Size / (RegionSize * ReplicationFactor)  = Java Heap * HeapFractionForMemstore / (MemstoreSize / 2 )
=>   Disk Size / Java Heap = RegionSize / MemstoreSize * ReplicationFactor * HeapFractionForMemstore * 2

2.hbase对于cpu要求高,越多core越好

3.软硬件独立的hbase集群

其他硬件配置,

  1. 集群使用万兆网卡(千兆对于大数据集群来说实在太小,很容易打满,影响较大),
  2. 磁盘尽可能大,
  3. 内存不用太高,一般128G就已经特别多了HBase本身对内存的需求并不是配的越大越好。
  4. CPU核数越多越好,HBase本身压缩数据、compaction线程等都是很吃CPU资源的。

二:hbase现集群调优参数

属 性 值 cdh集群现有 集群效果
hbase.hstore.blockingStoreFiles 100 HStore的storeFile的文件数大于配置值,
    则在flush memstore前先进行split或者compact,
    除非超过
    hbase.hstore.blockingWaitTime配置的时间,
    默认为7,可调大,比如:100,
    避免memstore不及时flush,当写入量大时,
    触发memstore的block,从而阻塞写操作。
cachecompress FALSE 开启cache的压缩,
    50% increase in throughput
    and 30% improvement in mean latency while,
    increasing garbage collection by 80%
    and increasing overall CPU load by 2%
hbase.regionserver.thread.compaction.small 5 压缩的线程数,增加压缩性能。
hbase.hregion.memstore.flush.size 256 当前系统flush比较频繁,并且内存资源比较充足,
    可以适当将该值调整为256M。避免频繁的flush
hbase.hstore.compactionThreshold 5 有五个store file就触发compact操作,
    减少压缩队列。
HBase HRegion 最大化压缩 0 禁止自动大合并(时间长,耗费资源),
hbase.hregion.majorcompaction   业务低峰期进行手动合并。
GC-region server配置(JDK1.7) -XX:+UseG1GC G1日志打印:
  -XX:MaxGCPauseMillis=100 -verbose:gc
  -XX:InitiatingHeapOccupancyPercent=70 -XX:+PrintGC
  -XX:G1HeapRegionSize=16m -XX:+PrintGCDetails
  -XX:+ParallelRefProcEnabled -XX:+PrintGCApplicationStoppedTime
  -XX:+UnlockExperimentalVMOptions -XX:+PrintHeapAtGC
  -XX:-ResizePLAB -XX:+PrintGCDateStamps
    -XX:+PrintAdaptiveSizePolicy
    -XX:+PrintTenuringDistribution
    -XX:+
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奈文摩尔ST

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值