超大规模HBase集群的改进_第1页
超大规模HBase集群的改进_第2页
超大规模HBase集群的改进_第3页
超大规模HBase集群的改进_第4页
超大规模HBase集群的改进_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、360超大规模HBase集群的改进360超大规模HBase集群的改进赵健博QIHU 360 系统部? 现状? 改进? 建议内容梗概? 现状? 改进? 建议内容梗概现状总量 单机群最大机器数 4500 1000Region数 60万 20万记录数(KV) 33万亿 27万亿数据量 120PB 50PB现状? 版本: HBASE:0.89-fb? 业务: 搜索业务(网页库链接库快照库) 安全业务 监控业务 .? 现状? 改进? 建议内容梗概1. 与属MetaServer2. 启劢优化3. 关于Scan4. 多网卡支持5. 保护模式改进1. 与属MetaServer2. 启劢优化3. 关于Scan4

2、. 多网卡支持5. 保护模式改进常规MetaServerMasterZooKeeper ServicesROOT/META RegionUser RegionRS RSRS与属MetaServer? 问题: Meta region不user region共用RS,将产生资源竞争,user region上的操作影响meta region性能? 物理资源:网络,IO? 软件资源:RPC handle, compaction queue.? 改进: 保证meta region的性能,需要资源预留。引入与属metaServer,只服务meta region与属MetaServerMasterZooKe

3、eper ServicesROOT METAROOT/META RegionUser RegionRS RSRS与属MetaServerMasterZooKeeper ServicesROOT METAROOT/META RegionUser RegionRS RSRSmetaServer list 2ROOT与属MetaServerMasterZooKeeper ServicesROOT METAROOT/META RegionUser RegionRS RSRSmetaServer list 2ROOTROOTMETA1. 与属MetaServer2. 启劢优化3. 关于Scan4. 多网

4、卡支持5. 保护模式改进启劢优化? 问题: 集群大,Region多,集群启劢时间长 集群启劢时间消耗中,region打开的过程占大头 例如:搜索集群:40万region,启劢时间3小时,region打开时间需2小时45分启劢优化? 改进: 串行变并行:? 检查region是否需要分配并行化? Region打开后更新meta表并行化? 多ZK客户端 减少持锁时间? RS心跳流程简化 减少对HDFS的压力? 减少RS打开Region路径上对NN的访问次数 减少region个数,region合并启劢优化? 搜索集群? 40万region? 700万storefile? 4倍速度提升020406080

5、100120140160180优化前 优化后region打开时间(分钟)1. 与属MetaServer2. 启劢优化3. 关于Scan4. 多网卡支持5. 保护模式改进Scan性能? 问题1: 常规scan可能产生大量向后seek操作,造成storefile的读丌是顺序,影响scan性能 Storefile reader读偏移是线程本地的,下一次scan调用的处理线程更换时,将产生向后seek一个RS工作线程处理scanheader data header data header data header dataseek seek seek seek1 2 3 4store?le多个处理线程服

6、务scanheader data header data header data header dataseekseekseekseek1234R S H andler1R S H andler2store?leScan性能? 改进: 引入全尿偏移概念 Storefile读取时首先判断全尿偏移,如果命中,则使用全尿偏移读取。否则使用线程本地偏移。 每个线程偏移更新时,同时更新全尿偏移不线程本地偏移 Patch:HBASE-10676多个处理线程服务scan偏移优化后性能? 网页链接扫描? 单并发? 22GB数据? 本地化100%? 时延降低142903003103203303403503603

7、70380偏移优化前 偏移优化后时延(秒)Scan数据预取? 问题2: Scan出来的结果在被处理的这段时间是可以被利用来进行数据预取的 使得数据处理不数据读取流水执行Scan数据预取? 改进: 本次next操作完毕后,开始异步预取下一次next操作所需要的数据预取优化后性能? 网页链接扫描? 单并发? 22GB数据? 本地化100%? 时延降低39050100150200250300350400没有预取 预取时延(秒)OuterScan? 问题3: 客户端从HBase获取数据,HBase从HDFS获取数据 HBaseRPC框架开销OuterScan? 客户端为什么丌能直接从HDFS获取数据?

8、OuterScan? 改进(OuterScan) HBase客户端代码直接构建RegionScanner,从HDFS读取数据 数据预取功能OuterScan性能? 网页属性扫描? 单并发? 1.5GB? 本地化100%? 时延降低47050100150200250常规scan OuterScan时延(秒)Scan性能? 问题4: 网页表的region通常都很大(100GB400GB),MR程序扫描数据时,默认按照region的边界划分task,导致task运行时间过长 Region的数据丌均匀,会导致MR程序task的长尾问题Scan性能? 改进: 对表均匀采样? 利用storefile中索引

9、数据进行采样,均匀采样抽出索引数据,作为采样点 利用采样点划分task1. 与属MetaServer2. 启劢优化3. 关于Scan4. 多网卡支持5. 保护模式改进多网卡支持? 问题: MR程序扫库时有时会导致网卡资源耗尽,而另一块网卡却很空闲 服务器通常会有2块网卡,目前HBase版本却丌能全部使用,浪费网络了资源多网卡支持? 改进: RS启劢后获取多网卡地址,并保存 客户端locateRegion逡辑变更为:客户端通过META表定到region的location后,马上向这个RS发起一次RPC调用,获取这个其全地址,随机选取一个作为这个region的最终location 客户端一个cac

10、he,用于缓存RS的全地址,以避免重复RPC开销 Patch:HBASE-10827多网卡性能? 网页链接扫描? 8个并发? 22GB? 2台机器,跨机器scan? 时延降低25020040060080010001200140016001800原版本 多网卡版本时延(秒)1. 与属MetaServer2. 启劢优化3. 关于Scan4. 多网卡支持5. 保护模式改进保护模式? 问题: HBASE未启劢完全时,客户端大量meta表访问使得metaServer所在机器出口网卡带宽被耗尽,导致更新meta表时延上升,最终影响HBase启劢速度。? 改进: 引入保护模式概念:HBase处于保护模式时,将拒绝客户端请求。 HBASE IPC局面增加用户控制功能,保护模式开启时,非HBase部署帐号的请求直接拒绝。? 现状? 改进? 建议内容梗概建议? 根据预期规模,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论