性能优化之HBase性能调优

0cbc8f3df9f56298468633f25a79b497.png

HBase是Hadoop生态系统中的一个组件,是一个分布式、面向列存储的内存型开源数据库,可以支持数百万列(MySQL4张表在HBase中对应1个表,4个列)、超过10亿行的数据存储。可用作:

冷热数据分离

df38f93f98d925da9d8e3cb13551b402.png
  • HBase适合作为冷数据存储,存储和查询海量历史数据

  • MySQL适合作为热存储存储,支持数据读写、事务操作

  • 归档近期未更新的历史数据,新增数据至HBase,再删除MySQL记录

海量流水记录

671da78324bfcfaf9aa97a5adcac08bc.png
  • 流水记录可随时新增字段

  • 适合存储海量流水记录

1、HBase内存调优

HBase硬件层面的调优主要包含内存和CPU。

(1)内存调优

HBase操作过程中需要大量的内存开销,table是可以缓存在内存中的,一般会分配整个可用内存的70%给HBase的Java 堆。但是不建议分配非常大的堆内存,因为GC垃圾回收过程持续太久会导致HBase Region Server处于长期不可用的状态,一般16-48G即可。

(2)HBase CPU调优

HBase 在应用上的各种操作对CPU的消耗也比较大,如频繁使用过滤器对数据进行匹配查询、搜索查询和过滤,多条件组合扫描查询,压缩操作频繁等。如果CPU配置过低,会导致HBase集群负载比较高,造成线程阻塞,所以CPU核数越多越好。

2、HBase JVM性能调优

HMaster不会处理过重的负载,并且实际数据不经过HMaster,所以垃圾回收时HMaster通常不会产生问题。

在HBase Region Server写入数据时,数据会先保存在memstore中,当写入的的数据大于memstore阈值时,数据会写入磁盘。因为写入的数据是由客户端在不同事件写入,故占据的Java堆空间很可能时不连续的,会出现孔洞,所以需要对Region Server的JVM垃圾回收进行优化。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

李景琰

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

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

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

打赏作者

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

抵扣说明:

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

余额充值