hbase@taobao for 技术沙龙
DESCRIPTION
介绍HBase在taobao的使用规模,使用过程中我们碰到的问题以及我们对使用HBase的建议。TRANSCRIPT
Taobao HBase规模
基于 0.90.3; 10个独立集群,大约 300台机器;机器配置
16 core, 24G/48G, SATA 1T*12/SAS 300G *12;
大约 200k ops/sec, 70%写, 30%读。
碰到的问题 (Cont.)
RegionServer OOM 太多版本;▪ rowKey设计问题;
通过 setMaxFileSize设置了一个巨大的region文件大小;
HBASE-3209 & 3290 provided by Facebook;
碰到的问题 (Cont.)
.meta.表中出现了两个 startKey/endKey相同的 region HBASE-3946 不过我们打上 patch后还是碰到了; 这个问题非常棘手 ...▪ 如何恢复?
碰到的问题 (Cont.)
master split hlog阶段失败会造成数据丢失 master以 128M为单位读 .logs,写入
recovered.edits,最后一个 128M读完,会先移动 .logs到 .oldlogs,此时如果写失败 ...
patch暂时未提交到官方; Facebook也正在处理这个 patch。
建议
Jothan Gray(Facebook) said: “HBase is a pre-1.0 DB”
适用场景 瞬间写入量很大,数据库不好支撑或需要很高成本支撑的场景;
数据需要长久保存,且量会持续增长到比较大的场景。
建议 (Cont.)
实践经验 合理设计 rowKey,非常重要; 数据最好是可恢复的 (Facebook也如此建议 );
生产环境关闭 split, region数不要太多 (此建议来自 Facebook)。