贝壳Kylin性能优化:HBase挑战与解决方案
118 浏览量
更新于2024-08-28
收藏 1.25MB PDF 举报
"Kylin在贝壳的性能挑战和HBase优化实践"
在贝壳公司,Kylin作为公司的在线分析处理(OLAP)引擎,自2017年起就开始提供服务。目前,贝壳拥有超过100个Kylin实例,运行800多个Cube,存储着300多TB的单副本数据,并且其HBase集群由30多个节点组成,每天处理的查询量高达2000多万次。自2018年以来,查询请求量增长了19倍,而99.7%以上的查询响应时间在3秒内,最高可达99.8%。
随着查询量的激增,Kylin面临着一系列性能挑战。其中,主要的问题之一是表或Region的不可访问性。在Cube构建过程中,有时会出现关键表的特定Region无法访问,导致构建失败。此外,查询期间,部分用户请求也会因数据表Region的不可访问而超时。旧Kylin集群中的Region数量过多,每台机器平均承载1万个Region,这严重影响了HBase集群的建表和删表速度,以及清理程序的效率。
针对这些问题,贝壳采取了以下优化措施:
1. 删除无用表以减少Region数量。由于过多的Region对HBase性能造成负担,他们通过清理无用表,成功减少了10万个Region,将总数降低至6万个以下,显著提升了HBase的操作效率。
2. 缩短HBase表的清理周期。从每周清理一次变为每天清理,同时定期合并Cube,进一步减少HBase表的数量和Region数量,有效缓解了构建时的问题。
3. 升级HBase版本至1.4.9,利用RSGroup功能实现重点表和数据表的计算隔离,提高系统资源的利用率。
4. 关闭HBase的自动Balance功能,改为仅在夜间进行手动平衡操作,以避免在业务高峰期间影响服务质量。
这些优化策略不仅解决了当前的性能瓶颈,也为应对未来更大的查询负载提供了稳定的基础。通过持续监控、调整和优化,贝壳能够确保Kylin在满足高并发查询需求的同时,保持高效稳定的运行状态。这一实践对于其他大型企业面临类似挑战时,提供了宝贵的参考经验。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2019-07-17 上传
2018-08-13 上传
2023-09-09 上传
2023-09-09 上传
点击了解资源详情
点击了解资源详情
weixin_38658405
- 粉丝: 4
- 资源: 1010
最新资源
- 基于Python和Opencv的车牌识别系统实现
- 我的代码小部件库:统计、MySQL操作与树结构功能
- React初学者入门指南:快速构建并部署你的第一个应用
- Oddish:夜潜CSGO皮肤,智能爬虫技术解析
- 利用REST HaProxy实现haproxy.cfg配置的HTTP接口化
- LeetCode用例构造实践:CMake和GoogleTest的应用
- 快速搭建vulhub靶场:简化docker-compose与vulhub-master下载
- 天秤座术语表:glossariolibras项目安装与使用指南
- 从Vercel到Firebase的全栈Amazon克隆项目指南
- ANU PK大楼Studio 1的3D声效和Ambisonic技术体验
- C#实现的鼠标事件功能演示
- 掌握DP-10:LeetCode超级掉蛋与爆破气球
- C与SDL开发的游戏如何编译至WebAssembly平台
- CastorDOC开源应用程序:文档管理功能与Alfresco集成
- LeetCode用例构造与计算机科学基础:数据结构与设计模式
- 通过travis-nightly-builder实现自动化API与Rake任务构建