当前位置: 首页 > news >正文

性能优化之HBase性能调优

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

冷热数据分离

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

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

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

海量流水记录

  • 流水记录可随时新增字段

  • 适合存储海量流水记录

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垃圾回收进行优化。

http://www.lryc.cn/news/36925.html

相关文章:

  • 图像金字塔,原理、实现及应用
  • 08-Oracle游标管理(定义,打开、获取数据及关闭游标)
  • Python判断字符串是否包含特定子串的7种方法
  • aop实现接口访问频率限制
  • Hive---窗口函数
  • JavaSe第7次笔记
  • 什么是 Service 以及描述下它的生命周期。Service 有哪些启动方法,有 什么区别,怎样停用 Service?
  • Redis部署
  • AT32F437制作Bootloader然后实现Http OTA升级
  • Springboot项目启动初始化数据缓存
  • 深度学习必备知识——模型数据集Yolo与Voc格式文件相互转化
  • 数据、数据资源及数据资产管理的区别
  • 标度不变性(scale invariance)与无标度(scale-free)概念辨析
  • WMS仓库管理系统解决方案,实现仓库管理一体化
  • css常见定位、居中方案_css定位居中
  • 【微信小程序】-- 自定义组件 -- 创建与引用 样式(三十二)
  • ArangoDB——AQL编辑器
  • Lesson 9.1 集成学习的三大关键领域、Bagging 方法的基本思想和 RandomForestRegressor 的实现
  • basic1.0链码部署(基于test-network 环境ubuntu20.04腾讯云)
  • Android---系统启动流程
  • 【网络】http协议
  • Thread::interrupted() 什么意思? 如何中断线程?
  • Oracle OCP 19c 考试(1Z0-083)中关于Oracle不完全恢复的考点(文末附录像)
  • 一起来学习配置Combo接口吧!
  • C++模拟实现红黑树
  • HTTPS协议之SSL/TLS详解(下)
  • OLE对象是什么?为什么要在CAD图形中插入OLE对象?
  • 【微信小程序】-- 自定义组件 -- 数据、方法和属性(三十三)
  • 【Spring 深入学习】AOP的前世今生之代理模式
  • 操作系统复试