当前位置:首页 > 报告详情

【B站】B站大数据多级存储实践-bilibili.pdf

上传人: 张** 编号:153274 2024-01-15 33页 2.65MB

1、B站大数据多级存储实践刘永攀目录 背景介绍1 数据调度实践 2 冷数据降本实践3 热数据加速实践4 未来展望5背景介绍PART 1B 站大数据简介B站大数据整体架构图总体存储量1+EB元数据总量15+Billion节点总量近10000 台总请求数25+BillionB 站大数据简介代理层:HDFS Router提供 HDFS 统一元数据视图;支持 NameNode 水平扩展;支持元数据缓存;限流保护 元数据层:NameNode记录文件元数据信息,管理文件读写操作。支持 Observer Read细粒度锁分级保障数据层:DataNode 真实存放数据分级保障B站 HDFS 架构多级存储架构当前架

2、构新数据都会被写入到 Warn 集群;数据变冷后被迁移到 Cold 集群;热数据会被load 到 Hot 集群;多级存储架构图数据调度实践PART 2为什么需要数据调度?Migrate元数据量过高风险大;集群热点导致性能下降;支持多机房数据放置;支持冷数据转储;Load热数据 load 时机不好控制;Persist探索中背景1.基于RBF 挂载点改造;2.任务状态转换流程;3.Rename 阶段关键步骤;4.基于ZK 读写锁解决并发问题;5.迁移服务优化关键点数据迁移服务定制开发 MergeFsns1,ns2#WRITE_FIRST写操作在ns1;读操作在ns1和ns2;常用三类:WRITE_

3、FIRSTWRITE_FIRST_ECHOT_WRITE_FIRST_ECoperationns1ns2location create/a/b/a/bns1/a/a/bns2open/a/b/1.txt/a/b/2.txtns1 or ns2/a/b/1.txt/a/b/1.txtns1append/a/b/1.txt/a/b/1.txtns1renamexxnot supportdelete/a/b/1.txt/a/b/1.txtns1 and ns2.目录/a/b 挂载点=ns1,ns2,WRITE_FIRST的各类操作1.基于RBF 改造读写逻辑迁移状态转换流程图状态解释:INIT:初始

4、状态UNMOUNT:未挂载;MOUNTED_WAIT:已挂载,等待冷却(可能在写入);MOUNTED_READY:已挂载,冷却完毕;WAIT_FASTCOPY:数据拷贝阶段(DISTCP/FASTCP);WAIT_RENAME:从临时目录 rename 到最终目录;WAIT_UNMOUNT:等待更新挂载点;SUCCESS:迁移成功;FAILED:迁移失败,解决根因后重试;2.迁移任务状态转换图在 WRITE_FIRST 作用下,新文件+目录会在dst 上创建有可能无法直接 rename;WAIT_RENAME 方案:1、将空目录从 src_tmp rename 至 dst;2、将文件从 src

5、_tmp rename 至 dst;图1.基础方案图2.优化方案3.RENAME 关键步骤迁移并发安全问题子目录迁移影响父目录迁移;父目录迁移影响子目录迁移;同一目录迁移至不同NS;T路径(P)挂载点行为问题1/a/b/e P#ns2,ns1create/a/b/e/.lock/t1 成功12/a/b/d/g/hP#ns2,ns1creat/a/b/d/g/h/.lock/t2 成功3/a/b/dP#ns2,ns1等待h 释放4/a/b/d/g/hP#ns2,ns1删除节点 h、g、d,不删除b5/a/b/dP#ns2,ns1结束等待,create/a/b/d/.lock/t326/a/b/d

6、/f P#ns2,ns1等待d 释放7/a/b/c/m/a/b/c#ns2,ns1create/a/b/c/.lock/t4 成功38/a/b/c/n/a/b/c#ns2,ns1create/a/b/c/.lock/t5 成功9/a/b/c/n/a/b/c#ns3,ns1等待c释放举例:已知/a 挂载 ns1,/a/b/c 挂载 ns2,ns1 4.基于 ZK 读写锁解决并发问题ZK目录树示意图优化:1.基于运行中 yarn container个数动态限流机制;2.支持 distcp、fastcp;3.挂载点变更检查机制,防止意外变更;4.任务状态持久化,支持快速恢复;5.动态Logger为每

word格式文档无特别注明外均可编辑修改,预览文件经过压缩,下载原文更清晰!
三个皮匠报告文库所有资源均是客户上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作商用。
本文主要介绍了B站大数据的多级存储实践,包括背景介绍、数据调度实践、冷数据降本实践、缓存加速实践和未来展望。B站大数据整体架构图显示,B站大数据总体存储量超过1EB,元数据总量达到150亿,节点总量近10000台,总请求数超过250亿。数据调度实践旨在解决元数据量过大、集群热点导致性能下降、支持多机房数据放置和冷数据转储等问题。冷数据降本实践通过归档存储和Erasure Coding技术实现,提高存储效率。缓存加速实践通过改造HDFS Client和HDFSRouter服务,引入CacheManager,定制Alluxio存储,提升数据读取速度和稳定性。未来展望包括在DataNode上实现local cache解决热点Block问题、直写Alluxio异步持久化至HDFS、支持continuous layout EC解决IOPS放大问题以及改造EC转换方式,进一步提升EC占比。
"B站大数据存储架构揭秘" "如何实现冷热数据高效调度?" "Alluxio缓存技术加速HDFS读取"
客服
商务合作
小程序
服务号
折叠