本次分享来自中国HBase技术社区第七届MeetUp成都站,分享嘉宾郑浩南 爱奇艺 资深研发工程师,专注于大数据领域,负责Hadoop服务的运维研究以及DevOps平台开发。
分享主题:HBase在爱奇艺的应用实践
内容概要:随着大数据存储计算对延时吞吐要求越来越高,需求日益复杂化,HBase在爱奇艺中被广泛应用和实践以应对多样化的业务场景。本次演讲将介绍HBase在爱奇艺的部署模式和使用场景,以及在爱奇艺私有云环境下的运维策略。
下载链接:http://hbase.group/slides/168
1.使用现状
-
概况
![c2366efb4f0db56407f70f4805530eebf93397a7](https://yqfile.alicdn.com/c2366efb4f0db56407f70f4805530eebf93397a7.png)
-
-
HBase版本
-
1.2.0-CDH5.14.4-qiyi-1
-
-
规模
-
物理机数量6000+,最大集群1500节点
-
数据总量约3PB(单备份),大表>100TB
-
离线QPS 50 Mil+,线上QPS 3 Mil+
-
-
服务使用架构
-
私有云环境
-
大数据平台化服务
-
大数据产品栈
-
-
-
数据库@iQIYI 产品定位
![b46b26e61f85c966cfe878767037b4053367d6e2](https://yqfile.alicdn.com/b46b26e61f85c966cfe878767037b4053367d6e2.png)
-
-
按访问模式:NoSQL -> SQL
-
schema
-
访问接口
-
ACID
-
-
按应用场景:OLTP -> HTAP -> OLAP
-
目的:交易处理 vs 数据分析
-
延时:ms vs s/m
-
-
按分布式系统特点
-
可扩展性 CAP
-
QPS量级:10K vs 10M
-
数据量:GB vs TB/PB
-
-
-
HBase@iQIYI 产品定位
![4ff0c13b4e11087820f2e9aff7ba6719affefff1](https://yqfile.alicdn.com/4ff0c13b4e11087820f2e9aff7ba6719affefff1.png)
-
-
大数据产品应用场景
-
QPS量级 100K以上
-
数据量级 TB ~PB
-
需要计算资源,计算本地性
-
-
选择HBase的理由
-
大数据场景下的随机访问
-
稀疏动态表,支持百万列
-
适应各计算框架
-
实时跨集群同步
-
稳定易扩展,现有集群规模大,能支持更大量级
-
-
-
应用场景
![1f045f80d8a1f6c7b67f04413f3b9af801971acf](https://yqfile.alicdn.com/1f045f80d8a1f6c7b67f04413f3b9af801971acf.png)
2.架构实践
-
架构概览
![73c6aa82a5d73c36a2d40821595331398d51fa70](https://yqfile.alicdn.com/73c6aa82a5d73c36a2d40821595331398d51fa70.png)
-
-
3-4个主力DC
-
业务分流
-
运营商
-
HA
-
-
HBase相关集群分类
-
公共集群
-
Kylin HBase集群
-
HBase专用集群
-
业务独立集群
-
-
-
公共集群
![00c0f2fdbdcb3d9f2a43ac4e6dde730b6de40976](https://yqfile.alicdn.com/00c0f2fdbdcb3d9f2a43ac4e6dde730b6de40976.png)
-
-
场景
-
1000+节点
-
用于大规模数据计算
-
亚秒延时、单表10M qps
-
-
架构
-
拆分ZooKeeper
-
分离Kylin
-
异构存储 WAL-on-SSD
-
BucketCache 20G offheap
-
非实时访问禁用BlockCache
-
-
-
HBase专用集群
![7300785b6fadddedf40d01d1ed8ee2b4f94543de](https://yqfile.alicdn.com/7300785b6fadddedf40d01d1ed8ee2b4f94543de.png)
-
-
场景
-
100节点
-
线上实时访问,简单OLAP分析
-
150ms以下延时,均值50ms
-
-
架构
-
SSD
-
-
两备份(计算本地性要求低,HA)
BucketCache 50G offheap
控制计算任务执行
分离线上访问-计算分析
Phoenix:SQL、二级索引、Salt
调研中:Solr+JanusGraph Atalas
业务独立集群
![1ada453ecce73af1ad205070c3a0a80c34e4288b](https://yqfile.alicdn.com/1ada453ecce73af1ad205070c3a0a80c34e4288b.png)
-
-
场景
-
10-50节点
-
用于业务特定需求
-
-
案例-Flink流关联
-
全量消息,数据量大,需5ms以下延时
-
写入足够分散,无更新特性
-
91.52%读最近1小时写入的数据
-
非重复读,每条数据只会访问一次
-
-
优化
-
7天TTL,2备份,压缩后150TB
-
cache索引,cache_data_on_write 缓存最近数据
-
读不替换缓存,减少缓存置换开销
-
compactionThreshold + compaction.max.size +BloomFilter
缩小随机访问范围,减少compaction压力
-
-
-
数据同步
![3291eaed34cc57f74f9868b74746135795632928](https://yqfile.alicdn.com/3291eaed34cc57f74f9868b74746135795632928.png)
-
-
同步管理
-
表级别控制
-
定义同步链路
-
-
表同步设置
-
export snapshort
-
目标表设置purge.deletes(24h)
-
设置表同步
-
copyTable补数据
-
-
定期一致性检查
-
基于ReplicationCompare改造
-
迭代多轮比较,验证最终一致性
-
-
-
监控
![7b0b6402fa0ea64874f1e4c185caf37ac60d0869](https://yqfile.alicdn.com/7b0b6402fa0ea64874f1e4c185caf37ac60d0869.png)
-
-
统计型排查
-
整合关键指标
-
集群整体->服务器、表
-
子维度排序、展开详情
-
-
拨测
-
表分布到每个RS,put/get
-
表RowCounter检查
-
-
指标存储
-
OpenTSDB + InfluxDB
-
长时间、高基数聚合慢
转型使用Druid
-
-
-
升级策略
![61c8a4df4aebea13d30a7cc3b734f8fce6caba4b](https://yqfile.alicdn.com/61c8a4df4aebea13d30a7cc3b734f8fce6caba4b.png)
-
-
需要持续关注社区release、patch
-
升级历程:5.2.0→5.11.0→5.14.2→5.14.4
-
5.11.0 HBase bugs:CDH-55446、HBase-17319、17069…
-
-
版本管理
-
CDH Major、Minor、Maintenance 升级
-
QIYI Maintenance :5.14.4-qiyi-1
-
-
源码开发、发布、部署
-
Gitlab管理源码,比较各release分支
-
维护QIYI内部版本,发布到maven
-
复用CDH rpm包
ansible maven_artifact模块指定jar包版本
-
-
3.服务策略
-
向业务提供服务的策略
-
HBase单集群多租户
-
硬件资源利用率高
-
部署管理方便
-
隔离性差
-
-
策略
-
定义资源:HBase表
-
集群容量:空间大小、region总数
-
提供方式:模板化建表
-
资源隔离性:尽可能确保各表健康
-
-
-
资源与配额
![a8fe038fba90eee3a2324a2a9cf5219b269bc9f1](https://yqfile.alicdn.com/a8fe038fba90eee3a2324a2a9cf5219b269bc9f1.png)
-
-
HBase表资源
-
Default namespace
-
未使用RS group
-
通过平台工单申请,控制建表
-
线上统一控制DDL、权限操作
-
健康检查,确保表均匀无热点
-
-
配额定义
-
集群资源总容量
-
部门配额
-
资源分配配额
-
资源实际使用量
-
-
-
压测与容量
![36891ca841e234ed1f3f0ecc2c1a41bbd3197fa2](https://yqfile.alicdn.com/36891ca841e234ed1f3f0ecc2c1a41bbd3197fa2.png)
-
-
确定Space容量
-
/hbase目录的总Quota
-
-
确定Region容量
-
根据Memstore估算大概范围
-
单节点压测,HBase pe,估算最佳region数、最佳并发数、读写峰值
300个region,64并发数
随机读 78K, 随机写 231K
顺序读 133K,顺序写 426K
-
300/RS,每个region容量:5~20GB
读qps 0.26K~0.6K, 写qps 0.77K~1.5K
-
-
-
模板化建表
![aa3b8bfd4ca968ac7d9022ab55cc36840a8abbbf](https://yqfile.alicdn.com/aa3b8bfd4ca968ac7d9022ab55cc36840a8abbbf.png)
-
确定应用场景
-
选择集群类型
-
运行计算任务、实时访问、线上业务…
-
-
关键表属性设置
-
用户确定Version、TTL、同步链路
-
自动设置BlockCache、MOB、分裂策略、压缩等
-
-
确定表预分区方法
-
16进制字符串、10进制字符串、采样
-
-
配额
-
数据量估算+峰值qps,推算Region数量
-
用户可以只给出数
-
![221feff9001bd8ed47daf96861245cc3ccb688a0](https://yqfile.alicdn.com/221feff9001bd8ed47daf96861245cc3ccb688a0.png)
-
-
表定期整理
-
major compact
-
自定义normalize
-
balance
-
-
表健康度检查
-
热点
-
数据倾斜
-
分区数不匹配
-
-
4.问题瓶颈
-
ZooKeeper重选,RS重连超时
-
问题:
-
ZooKeeper发生重选时,Session重连,RegionServer发生ZK sessionTimeout宕机
-
ZooKeeper Zxid rollover,定期引发重选
-
-
连接数过多,单个ZK-server 5000个连接
-
限制maxClientCnxns,找出错误使用HBase Conn任务
-
-
Znode过多,25w个
-
定期清理Replication残留Znode
-
-
ZooKeeper关闭连接时的瓶颈
-
ZOOKEEPER-1669,HashSet并发瓶颈
-
-
ZooKeeper Leader session激活(revalidation)瓶颈
-
ZOOKEEPER-3169,未解决,通过调高max session timeout应对
-
-
减少对ZooKeeper依赖
-
调研:ZK-less,AssignmentMananger v2
-
-
-
HBase启动恢复慢
-
问题:
-
1500节点,25w region
-
clean-startup 15min;主动关闭集群,经常无法正常进入clean-startup
-
恢复流程需要1 hour左右
-
-
错误判定为恢复流程
-
HBASE-14223,清理残留的Meta WALs
-
HBASE-15251,错误判断为failover
-
-
SplitWAL ZK阻塞
-
参考HBASE-19290,调节RS遍历Znode停顿时间
-
-
SplitWAL并发控制,易引起gc问题
-
master.executor.serverops.threads x bulk.assignment.threadpool.size
-
-
启动过程中,部分节点阻塞影响恢复
-
及时处理启动过程中阻塞节点
-
启动恢复过程中,停止业务访问(需要一种安全模式)
-
-
![3a3cbfbcc111a752e1fd9989dfbbbf584be8f5c3](https://yqfile.alicdn.com/3a3cbfbcc111a752e1fd9989dfbbbf584be8f5c3.png)
![343b5b744a4af0fc75361a9152a4356a2b042f43](https://yqfile.alicdn.com/343b5b744a4af0fc75361a9152a4356a2b042f43.png)
![560e9c4f8f5bee1051f6ae678dfe7d2db70ac6d3](https://yqfile.alicdn.com/560e9c4f8f5bee1051f6ae678dfe7d2db70ac6d3.png)
![64be6aab7571397ae1069fbc9a84575dbc3a3743](https://yqfile.alicdn.com/64be6aab7571397ae1069fbc9a84575dbc3a3743.png)
![b01bf8c78a1a84d5c424810e4a987f0589ad7969](https://yqfile.alicdn.com/b01bf8c78a1a84d5c424810e4a987f0589ad7969.png)
![d6cc23d4ea609e0cb51bbd9947d793ca6f61bb17](https://yqfile.alicdn.com/d6cc23d4ea609e0cb51bbd9947d793ca6f61bb17.png)
![18d09a1ce5430e350ab2171126f06286ed9b1a2d](https://yqfile.alicdn.com/18d09a1ce5430e350ab2171126f06286ed9b1a2d.png)
![d520a6db892b790b4a0cc69a9c5dd87af668fb79](https://yqfile.alicdn.com/d520a6db892b790b4a0cc69a9c5dd87af668fb79.png)
![48f44a13bcb641f096db83c4cb23dae7b20a7dda](https://yqfile.alicdn.com/48f44a13bcb641f096db83c4cb23dae7b20a7dda.png)
![0ebe34f696072c671eaeaaa6ba07230d5098ea96](https://yqfile.alicdn.com/0ebe34f696072c671eaeaaa6ba07230d5098ea96.png)
![bb5e6e0a3986fb58a5701301d5390658c64dae2d](https://yqfile.alicdn.com/bb5e6e0a3986fb58a5701301d5390658c64dae2d.png)
![e2ab832d703f3b861126b779cb18d541730767cf](https://yqfile.alicdn.com/e2ab832d703f3b861126b779cb18d541730767cf.png)
![e57b103377608f14bb00f4386a85cb37f29281a2](https://yqfile.alicdn.com/e57b103377608f14bb00f4386a85cb37f29281a2.png)
![536b761180fab94f184e9c4c6b7fb4b50ea6a9bd](https://yqfile.alicdn.com/536b761180fab94f184e9c4c6b7fb4b50ea6a9bd.png)
![996da3b690638754696fb82f18f3027e74de4b8f](https://yqfile.alicdn.com/996da3b690638754696fb82f18f3027e74de4b8f.png)
![a5d92e35bdaa11ff4f0f92cdf240c5eb0783c6e4](https://yqfile.alicdn.com/a5d92e35bdaa11ff4f0f92cdf240c5eb0783c6e4.png)
![2e643893227c030a018ac60935f210fe679f9ee7](https://yqfile.alicdn.com/2e643893227c030a018ac60935f210fe679f9ee7.png)
![35a90efe472a70416cf22436f69760d86f8f806d](https://yqfile.alicdn.com/35a90efe472a70416cf22436f69760d86f8f806d.png)
![68cf654059f46e051f444fc1a9bcf0297cfe4725](https://yqfile.alicdn.com/68cf654059f46e051f444fc1a9bcf0297cfe4725.png)
![9131aa20f6982ed297d7d2bf8bd3f4e80dedd170](https://yqfile.alicdn.com/9131aa20f6982ed297d7d2bf8bd3f4e80dedd170.png)
![ae59101b19ff1c2b7c7ade15cf94c5096033cb51](https://yqfile.alicdn.com/ae59101b19ff1c2b7c7ade15cf94c5096033cb51.png)
![fc31b9f04c1a8b1d980bdc64465dc12d55963747](https://yqfile.alicdn.com/fc31b9f04c1a8b1d980bdc64465dc12d55963747.png)
![9cca8262e4fa8b541d7ba3b6d81f95d2dd8b1e80](https://yqfile.alicdn.com/9cca8262e4fa8b541d7ba3b6d81f95d2dd8b1e80.png)
![9ca3ad324667628865366e8e002a6270e72b9b66](https://yqfile.alicdn.com/9ca3ad324667628865366e8e002a6270e72b9b66.png)
![3dd2936a6985d322d3c9a6b704697bb672633ce4](https://yqfile.alicdn.com/3dd2936a6985d322d3c9a6b704697bb672633ce4.png)
![f3a0cd3e1eb6c7fb37ec1782f94e3ee78e751902](https://yqfile.alicdn.com/f3a0cd3e1eb6c7fb37ec1782f94e3ee78e751902.png)
![955155c51e2fd4a258ae877f002969de9b640acd](https://yqfile.alicdn.com/955155c51e2fd4a258ae877f002969de9b640acd.png)
![d3f2f0da5b6761a64c7049db7719525a2c492a0c](https://yqfile.alicdn.com/d3f2f0da5b6761a64c7049db7719525a2c492a0c.gif)
![187afc6e323c50e00bfbdfb52cc3327f4b40ce15](https://yqfile.alicdn.com/187afc6e323c50e00bfbdfb52cc3327f4b40ce15.png)