SlideShare uma empresa Scribd logo
1 de 14
毕玄
   Taobao HBase规模
   碰到的问题
   建议
   基于0.90.3;
   10个独立集群,大约300台机器;
   机器配置
     16 core,24G/48G,SATA 1T*12/SAS 300G *12;
   大约200k ops/sec,70%写,30%读。
   region数越来越多,写TPS会疯狂下降
     修改写操作时统计各region memstore的办法;
     解决此问题。
   RegionServer OOM
     太多版本;
      ▪ rowKey设计问题;
     通过setMaxFileSize设置了一个巨大的region文
      件大小;
     HBASE-3209 & 3290 provided by Facebook;
   Master OOM
     region太多就会导致这个问题;
     HBASE-3906。
   .meta.表空洞
     我们碰到的原因
      ▪ split失败,不仅造成了空洞,还造成了数据丢失;
     HBASE-4562 & 4563 provided by TAOBAO
   .meta.表中出现了两个startKey/endKey相同
    的region
     HBASE-3946
     不过我们打上patch后还是碰到了;
     这个问题非常棘手...
      ▪ 如何恢复?
   master split hlog阶段失败会造成数据丢失
     master以128M为单位读.logs,写入
      recovered.edits,最后一个128M读完,会先移
      动.logs到.oldlogs,此时如果写失败...
     patch暂时未提交到官方;
     Facebook也正在处理这个patch。
   .meta.和-root-重复分配
     HBASE-3914 & HBASE-4590
   如读取的数据量大,很容易造成写变慢
     原因是目前HBASE的RPC机制
     临时解决方案
      ▪ 读写分开;
      ▪ 对同一个region server也建多个连接。
   Jothan Gray(Facebook) said: “HBase is a pre-
    1.0 DB”
   适用场景
     瞬间写入量很大,数据库不好支撑或需要很高
      成本支撑的场景;
     数据需要长久保存,且量会持续增长到比较大
      的场景。
   实践经验
     合理设计rowKey,非常重要;
     数据最好是可恢复的(Facebook也如此建议);
     生产环境关闭split,region数不要太多(此建议
     来自Facebook)。
HBase@taobao for 技术沙龙

Mais conteúdo relacionado

Mais procurados

系统性能分析和优化.ppt
系统性能分析和优化.ppt系统性能分析和优化.ppt
系统性能分析和优化.ppt
Frank Cai
 
Lamp优化实践
Lamp优化实践Lamp优化实践
Lamp优化实践
zhliji2
 
Apache trafficserver
Apache trafficserverApache trafficserver
Apache trafficserver
Din Dindin
 
Sun jdk 1.6内存管理 -使用篇-毕玄
Sun jdk 1.6内存管理 -使用篇-毕玄Sun jdk 1.6内存管理 -使用篇-毕玄
Sun jdk 1.6内存管理 -使用篇-毕玄
锐 张
 
Lamp高性能设计
Lamp高性能设计Lamp高性能设计
Lamp高性能设计
锐 张
 
Cgroup lxc在17173 iaas应用池中应用
Cgroup lxc在17173 iaas应用池中应用Cgroup lxc在17173 iaas应用池中应用
Cgroup lxc在17173 iaas应用池中应用
Jinrong Ye
 
5.6 nutshell - 性能优化
5.6 nutshell  - 性能优化5.6 nutshell  - 性能优化
5.6 nutshell - 性能优化
Hui Liu
 

Mais procurados (20)

C1000K高性能服务器构建技术
C1000K高性能服务器构建技术C1000K高性能服务器构建技术
C1000K高性能服务器构建技术
 
并发编程交流
并发编程交流并发编程交流
并发编程交流
 
MongoDB at Qihoo 360
MongoDB at Qihoo 360MongoDB at Qihoo 360
MongoDB at Qihoo 360
 
系统性能分析和优化.ppt
系统性能分析和优化.ppt系统性能分析和优化.ppt
系统性能分析和优化.ppt
 
Lamp优化实践
Lamp优化实践Lamp优化实践
Lamp优化实践
 
Jvm基础调优实践(v1.0)
Jvm基础调优实践(v1.0)Jvm基础调优实践(v1.0)
Jvm基础调优实践(v1.0)
 
Apache trafficserver
Apache trafficserverApache trafficserver
Apache trafficserver
 
JVM及其调优
JVM及其调优JVM及其调优
JVM及其调优
 
Sun jdk 1.6内存管理 -使用篇-毕玄
Sun jdk 1.6内存管理 -使用篇-毕玄Sun jdk 1.6内存管理 -使用篇-毕玄
Sun jdk 1.6内存管理 -使用篇-毕玄
 
Lamp高性能设计
Lamp高性能设计Lamp高性能设计
Lamp高性能设计
 
Golang 高性能实战
Golang 高性能实战Golang 高性能实战
Golang 高性能实战
 
Cgroup lxc在17173 iaas应用池中应用
Cgroup lxc在17173 iaas应用池中应用Cgroup lxc在17173 iaas应用池中应用
Cgroup lxc在17173 iaas应用池中应用
 
5.6 nutshell - 性能优化
5.6 nutshell  - 性能优化5.6 nutshell  - 性能优化
5.6 nutshell - 性能优化
 
PHP Optimization for Millions Visits Level
PHP Optimization for Millions Visits LevelPHP Optimization for Millions Visits Level
PHP Optimization for Millions Visits Level
 
Mysql fast share
Mysql fast shareMysql fast share
Mysql fast share
 
PC服务器阵列卡管理简易手册 叶金荣@CYOU-20121223
PC服务器阵列卡管理简易手册 叶金荣@CYOU-20121223PC服务器阵列卡管理简易手册 叶金荣@CYOU-20121223
PC服务器阵列卡管理简易手册 叶金荣@CYOU-20121223
 
Golang advance
Golang advanceGolang advance
Golang advance
 
Linux内存管理
Linux内存管理Linux内存管理
Linux内存管理
 
高性能LAMP程序设计
高性能LAMP程序设计高性能LAMP程序设计
高性能LAMP程序设计
 
Traffic server overview
Traffic server overviewTraffic server overview
Traffic server overview
 

Destaque (6)

OSGi理论与实战
OSGi理论与实战OSGi理论与实战
OSGi理论与实战
 
菜鸟看Hbase
菜鸟看Hbase菜鸟看Hbase
菜鸟看Hbase
 
JavaOne summary
JavaOne summaryJavaOne summary
JavaOne summary
 
Hbase简介与实践分享
Hbase简介与实践分享Hbase简介与实践分享
Hbase简介与实践分享
 
Sun jdk 1.6 gc english version
Sun jdk 1.6 gc english versionSun jdk 1.6 gc english version
Sun jdk 1.6 gc english version
 
Java memory problem cases solutions
Java memory problem cases solutionsJava memory problem cases solutions
Java memory problem cases solutions
 

Semelhante a HBase@taobao for 技术沙龙

网站存储经验谈-pdf
网站存储经验谈-pdf网站存储经验谈-pdf
网站存储经验谈-pdf
Yu Lin
 
Hbase运维碎碎念
Hbase运维碎碎念Hbase运维碎碎念
Hbase运维碎碎念
haiyuan ning
 
Hbase使用hadoop分析
Hbase使用hadoop分析Hbase使用hadoop分析
Hbase使用hadoop分析
baggioss
 
Database.Cache&Buffer&Lock
Database.Cache&Buffer&LockDatabase.Cache&Buffer&Lock
Database.Cache&Buffer&Lock
Lixun Peng
 
Ocean base海量结构化数据存储系统 hadoop in china
Ocean base海量结构化数据存储系统 hadoop in chinaOcean base海量结构化数据存储系统 hadoop in china
Ocean base海量结构化数据存储系统 hadoop in china
knuthocean
 
Mysql性能分析之临时表(共享)
Mysql性能分析之临时表(共享)Mysql性能分析之临时表(共享)
Mysql性能分析之临时表(共享)
beiyu95
 
淘宝分布式数据处理实践
淘宝分布式数据处理实践淘宝分布式数据处理实践
淘宝分布式数据处理实践
isnull
 
My sql 同步
My sql 同步My sql 同步
My sql 同步
Yiwei Ma
 
1号店数据库架构
1号店数据库架构1号店数据库架构
1号店数据库架构
Louis liu
 
【Maclean liu技术分享】开oracle调优鹰眼,深入理解awr性能报告 第二讲 正式版 20130410
【Maclean liu技术分享】开oracle调优鹰眼,深入理解awr性能报告 第二讲 正式版 20130410【Maclean liu技术分享】开oracle调优鹰眼,深入理解awr性能报告 第二讲 正式版 20130410
【Maclean liu技术分享】开oracle调优鹰眼,深入理解awr性能报告 第二讲 正式版 20130410
maclean liu
 
MySQL多机房容灾设计(with Multi-Master)
MySQL多机房容灾设计(with Multi-Master)MySQL多机房容灾设计(with Multi-Master)
MySQL多机房容灾设计(with Multi-Master)
Lixun Peng
 

Semelhante a HBase@taobao for 技术沙龙 (20)

Hbase
HbaseHbase
Hbase
 
How do we manage more than one thousand of Pegasus clusters - backend part
How do we manage more than one thousand of Pegasus clusters - backend partHow do we manage more than one thousand of Pegasus clusters - backend part
How do we manage more than one thousand of Pegasus clusters - backend part
 
网站存储经验谈pdf
网站存储经验谈pdf网站存储经验谈pdf
网站存储经验谈pdf
 
网站存储经验谈-pdf
网站存储经验谈-pdf网站存储经验谈-pdf
网站存储经验谈-pdf
 
Hbase运维碎碎念
Hbase运维碎碎念Hbase运维碎碎念
Hbase运维碎碎念
 
Hbase使用hadoop分析
Hbase使用hadoop分析Hbase使用hadoop分析
Hbase使用hadoop分析
 
Database.Cache&Buffer&Lock
Database.Cache&Buffer&LockDatabase.Cache&Buffer&Lock
Database.Cache&Buffer&Lock
 
Ocean base 千亿级海量数据库-日照
Ocean base 千亿级海量数据库-日照Ocean base 千亿级海量数据库-日照
Ocean base 千亿级海量数据库-日照
 
Ocean base海量结构化数据存储系统 hadoop in china
Ocean base海量结构化数据存储系统 hadoop in chinaOcean base海量结构化数据存储系统 hadoop in china
Ocean base海量结构化数据存储系统 hadoop in china
 
Mysql性能分析之临时表(共享)
Mysql性能分析之临时表(共享)Mysql性能分析之临时表(共享)
Mysql性能分析之临时表(共享)
 
Hic2011
Hic2011Hic2011
Hic2011
 
Hadoop大数据实践经验
Hadoop大数据实践经验Hadoop大数据实践经验
Hadoop大数据实践经验
 
Pegasus: Designing a Distributed Key Value System (Arch summit beijing-2016)
Pegasus: Designing a Distributed Key Value System (Arch summit beijing-2016)Pegasus: Designing a Distributed Key Value System (Arch summit beijing-2016)
Pegasus: Designing a Distributed Key Value System (Arch summit beijing-2016)
 
Ted yu:h base and hoya
Ted yu:h base and hoyaTed yu:h base and hoya
Ted yu:h base and hoya
 
淘宝分布式数据处理实践
淘宝分布式数据处理实践淘宝分布式数据处理实践
淘宝分布式数据处理实践
 
My sql 同步
My sql 同步My sql 同步
My sql 同步
 
1号店数据库架构
1号店数据库架构1号店数据库架构
1号店数据库架构
 
Hadoop大数据实践经验
Hadoop大数据实践经验Hadoop大数据实践经验
Hadoop大数据实践经验
 
【Maclean liu技术分享】开oracle调优鹰眼,深入理解awr性能报告 第二讲 正式版 20130410
【Maclean liu技术分享】开oracle调优鹰眼,深入理解awr性能报告 第二讲 正式版 20130410【Maclean liu技术分享】开oracle调优鹰眼,深入理解awr性能报告 第二讲 正式版 20130410
【Maclean liu技术分享】开oracle调优鹰眼,深入理解awr性能报告 第二讲 正式版 20130410
 
MySQL多机房容灾设计(with Multi-Master)
MySQL多机房容灾设计(with Multi-Master)MySQL多机房容灾设计(with Multi-Master)
MySQL多机房容灾设计(with Multi-Master)
 

HBase@taobao for 技术沙龙

  • 2. Taobao HBase规模  碰到的问题  建议
  • 3. 基于0.90.3;  10个独立集群,大约300台机器;  机器配置  16 core,24G/48G,SATA 1T*12/SAS 300G *12;  大约200k ops/sec,70%写,30%读。
  • 4. region数越来越多,写TPS会疯狂下降  修改写操作时统计各region memstore的办法;  解决此问题。
  • 5. RegionServer OOM  太多版本; ▪ rowKey设计问题;  通过setMaxFileSize设置了一个巨大的region文 件大小;  HBASE-3209 & 3290 provided by Facebook;
  • 6. Master OOM  region太多就会导致这个问题;  HBASE-3906。
  • 7. .meta.表空洞  我们碰到的原因 ▪ split失败,不仅造成了空洞,还造成了数据丢失;  HBASE-4562 & 4563 provided by TAOBAO
  • 8. .meta.表中出现了两个startKey/endKey相同 的region  HBASE-3946  不过我们打上patch后还是碰到了;  这个问题非常棘手... ▪ 如何恢复?
  • 9. master split hlog阶段失败会造成数据丢失  master以128M为单位读.logs,写入 recovered.edits,最后一个128M读完,会先移 动.logs到.oldlogs,此时如果写失败...  patch暂时未提交到官方;  Facebook也正在处理这个patch。
  • 10. .meta.和-root-重复分配  HBASE-3914 & HBASE-4590
  • 11. 如读取的数据量大,很容易造成写变慢  原因是目前HBASE的RPC机制  临时解决方案 ▪ 读写分开; ▪ 对同一个region server也建多个连接。
  • 12. Jothan Gray(Facebook) said: “HBase is a pre- 1.0 DB”  适用场景  瞬间写入量很大,数据库不好支撑或需要很高 成本支撑的场景;  数据需要长久保存,且量会持续增长到比较大 的场景。
  • 13. 实践经验  合理设计rowKey,非常重要;  数据最好是可恢复的(Facebook也如此建议);  生产环境关闭split,region数不要太多(此建议 来自Facebook)。