HBase解决Region Server Compact过程占用大量网络出口带宽的问题

php中文网
发布: 2016-06-07 17:56:46
原创
1492人浏览过

HBase解决Region Server Compact过程占用大量网络出口带宽的问题 作者: 大圆那些事 | 文章可以转载,请以超链接形式标明文章原始出处和作者信息 网址: 推荐:《HBase权威指南》 HBase 0.92版本之后,Region Server的Compact过程根据待合并的文件大小分为smal

HBase解决Region Server Compact过程占用大量网络出口带宽的问题

作者: 大圆那些事 | 文章可以转载,请以超链接形式标明文章原始出处和作者信息

网址:

推荐:《HBase权威指南》

HBase 0.92版本之后,Region Server的Compact过程根据待合并的文件大小分为small compaction和large compaction两种,由此可能导致在集群写入量大的时候Compact占用过多的网络出口带宽。本文将详细描述集群使用过程中遇到这一问题的排查过程及其解决方法。

1. 发现问题

HBase集群(版本为0.94.0)运行过程中,发现5台Region Server的网络出口带宽经常维持在100MB/s以上,香港虚拟主机,接近到网卡的极限;同时Region Server的机器load负载也很高,高峰时候能够达到30~50。

2. 排查问题

1、集群实际运行过程中,观察到Region Server服务端的网卡,平均每台写入流量大概60MB/s(此时写入量已经很大了);读出流量90MB/s,有时甚至突破100MB/s(注:每台机器都是千兆网卡);

2、观察实际的写入数据量在每秒5w tps左右,单条记录平均大小为1KB,大概会占用50MB/s左右的网卡入口带宽请求量,和观察到的现象一致;

3、观察查询量在每秒6w qps左右,单条记录平均大小为1KB,大概会占用60MB/s左右的网卡出口带宽请求量,奇怪的是实际观察到有接近甚至超过100MB/s的网络出口带宽请求量,多出了40MB/s左右的网络出口带宽

4、经分析排查确定导致上述过程的原因,可能是HBase服务端由于写入量过大频繁触发compaction过程,而compaction是需要读HBase数据的,因此占据了相当部分的网络出口带宽;

5、结合对相关源码org/apache/hadoop/hbase/regionserver/CompactSplitThread.java的分析,决定对HBase集群配置做出变更(具体见下一小节),主要目的是减少compaction的发生;

6、接下来,观察到Region Server的网络利用率明显降低,一般进出口带宽能维持在70MB/s以下。

3. 解决问题

HBase 0.92版本之后增加了关于compact的配置选项,compact分为small compaction和large compaction两个线程池执行(默认都是各有1个线程,虚拟主机,具体源代码见:org/apache/hadoop/hbase/regionserver/CompactSplitThread.java),由于compact过程需要从HBase集群读取数据,因此实际运行中导致了compact占用大量网络出口流量,解决方案为选择性地关闭small compaction或large compaction。有以下两种变更方式均可解决:

Pandora Avatars
Pandora Avatars

可以制作100多种独特风格的头像

Pandora Avatars 102
查看详情 Pandora Avatars

1)方案一

(1) 修改hbase.regionserver.thread.compaction.throttle为一个很大的值(如50GB),香港虚拟主机,强制让所有compact都变为small compaction,减少compact的压力;

(2) 将small compaction和large compaction线程数均设置为1,减少compact的压力(可不配置,系统默认也会将其初始化为1)。

操作步骤:

准备hbase-site.xml文件,添加或修改如下选项:

hbase.regionserver.thread.compaction.throttle53687091200hbase.regionserver.thread.compaction.small1hbase.regionserver.thread.compaction.large1

重启集群使配置生效。

2)方案二

将small compaction线程数均设置为0,从而关闭small compaction,只剩下large compaction,也可减少compact的压力。

操作步骤:

准备hbase-site.xml文件,添加或修改如下选项:

hbase.regionserver.thread.compaction.small0

重启集群使配置生效。

posted on

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号