申请试用
HOT
登录
注册
 
HBase at Kuaishou

HBase at Kuaishou

小米云技术
/
发布于
/
4734
人观看

来自快手的工程师徐明为我们分享了 HBase 在快手的应用和实践。
快手每天有大量的用户上传大量的视频,这部分视频大部分是几 MB 的对象,其存储方案是:数据直接存储在 HDFS 上,数据的索引存储在 HBase 上,而最新的数据则存储在 memcache 中。

为了提高 HBase 的可用性,加快故障恢复速度,快手自研了 hawk 系统,其包括master,agent,sniffer 三个组件,由多个 agent 投票来确认一个节点是否挂了,然后由 sniffer 来处理挂的节点,并将有问题的节点迅速的从 zk 上删掉。同时快手做了一些优化来加速 split log 和 assign region 的过程。在 Client 端,则主要是确保有问题节点的 region location 能被快速清理掉。

RSGroup 功能也在快手被大量使用,并做了一些优化。一个是添加了 FallBack RSGroup,如果某个 RSGroup 的全部节点都挂了,就从这个 FallBack RSGroup中选择机器;一个是添加了 Global RSGroup,主要是满足监控需求,因为 HBase的 canary 表需要分布在各个机器上。

快手还分享了其如何使用 HBase 来存储和分析海量数据的案例。比如要解决计算用户留存的问题,如果使用 SQL 的话执行很慢,快手使用了 Bitmap 的解决方案。把需要提取的维度转化成 Bitmap,使用空间来减少消耗的时间。使用MR把选择的维度转成 Bitmap,把 Bitmap 切成小块,Bitmap 的数据及 meta 都导入到HBase 中。

0点赞
1收藏
3下载
确认
3秒后跳转登录页面
去登陆