Hbase 线上集群 OutOfMemory 性能优化

线上HBase集群在大数据写入时频繁遭遇OutOfMemory错误。通过了解HBase数据存储机制和compaction机制,针对磁盘IO和内存写入性能进行参数优化,包括调整`hbase.regionserver.handler.count`、`hbase.client.write.buffer`等。增加RegionServer节点数量至10台,关闭自动Major Compaction,改为手动触发,并结合业务层面对写入流量进行管控,有效降低了OutofMemory错误的发生。
摘要由CSDN通过智能技术生成

线上状况

服务器信息

本人使用的各组件版本如下:
操作系统版本:centos7
CM版本:6.3.1
CDH版本:6.3.2(5.16.2版本实测也可以)
JDK版本:openjdk version “1.8.0_262”

服务器配置:

服务器 CPU 内存 磁盘
cmserver 8核 24G /home/app 挂载300G
master01 4核 24G /home/app 挂载300G
master02 4核 24G /home/app 挂载300G
slave01 4核 24G /home/hdfsdata/data1 挂载50T
slave02 4核 24G /home/hdfsdata/data1 挂载50T
slave03 4核 24G /home/hdfsdata/data1 挂载50T
slave04 4核 24G /home/hdfsdata/data1 挂载50T

注意:salve节点合理的内存配置是32G,这里写的24G是参数调整之前的配置。

线上的hbase集群运行时发现,当数据量写入比较大时,经常会报:OutOfMemory errors 的错误
报错截图如下:
在这里插入图片描述

报错时的集群负载情况如下:
HDFS写入情况如下,集群连续几天处于高负荷状态,每个DataNode平均读写总量约为200M/s。
在这里插入图片描述

集群网络IO情况如下,各网络接口中的总传送的字节数约为187M/s,各网络接口中的总接收的字节数约为232M/s。
在这里插入图片描述

可以看到,一天时间内,RegionServer 多次因内存不足而退出。
在这里插入图片描述

各RegionServer 的web响应时间如下,从图中可以看出响应时间有一定的波动,并且跟上图 RegionServer 因内存不足而退出在时间上是相对应的,当发生因内存不足而退出时,web响应时间也变的很高,会导致客户度读写超时。
在这里插入图片描述

Region Server占用的内存如下,基本稳定在4G左右,因为配置的最大内存就是4G。在发生因内存不足而退出的时间点上,驻留内存会有一些的降低。
在这里插入图片描述

hbase数据存储机制

要对HBASE集群进行调优之前,需要先了解HBASE的数据存储机制。

hbase compaction机制

hbase compaction参考文章:
https://blog.csdn.net/u011598442/article/details/90632702

Compaction机制的由来
HBase基于LSM-Tree(Log-Structured Merge Tree&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值