- 快召唤伙伴们来围观吧
- 微博 QQ QQ空间 贴吧
- 视频嵌入链接 文档嵌入链接
- 复制
- 微信扫一扫分享
- 已成功复制到剪贴板
利用S3优化HDFS成本-小米Tiering技术演进
李经纶-小米 HDFS 研发工程师/Apache Hadoop Committer
展开查看详情
1 .
2 .小米HDFS分层存储演进 李经纶 / 小米HDFS团队
3 .目录 第一部分:Tiering项目 第二部分:TieringV2项目
4 .Tiering项目
5 .Tiering / 项目背景 印度离线 Hadoop 集群数据量增长迅速 AWS 公有云成本高 数据量 虚拟机 2018/02 2018/06 2019/01 2019/06 2019/12
6 . Tiering / 原理 原理 Fuse挂载S3到DataNode; HDFS StoragePolicy实现冷数据副本保存到S3; StoragePolicy: HDFS-6584 块对象去重功能;
7 .Tiering / 原理
8 .Tiering / 优缺点 优点 保持HDFS逻辑不变,方案简单开发快; 对业务完全透明; 缺点 只支持标准存储; 去重功能局限性; 组件多,任何环节出错都会造成服务不稳定; fds-fuse性能问题: DataNode启动; DataNode心跳; fds-fuse慢盘限速;
9 .TieringV2项目
10 . TieringV2 / 项目背景 国内集群成本节约需求: 公有云对象存储的成本优势; 目标 充分发挥对象存储成本优势; 覆盖更多冷数据; 支持IDC+云混合部署方案;
11 . TieringV2 / 原理 原理 原生支持对象存储文件(INodeObj),保存文件uri; 冷热分离: 热数据:block based file; 冷数据:基于对象的文件; Transfer服务负责热文件转冷文件: 拷贝文件到对象存储,对象名是文件路径; 通过RPC将INodeFile转成INodeObj; DFSObjectInputStream支持INodeObj读、INodeObj不 支持修改;
12 . TieringV2 / 原理 限速 Client在读INodeObj之前需从任意Router获取可用带 宽许可<znode,bandwidth,expired>; Client可以到任意Router renew许可; Router 所有Router共享总可用带宽; Router要能够回收过期的许可;
13 . TieringV2 / 原理 多云部署 IDC+云混合部署HDFS; 热数据使用block based file,副本以2 : 1的比例放置 到两个机房; 冷数据保存到S3,只支持读;
14 . TieringV2 / 优缺点 优点 可以多种对象存储类型; 实现简单,不涉及块层改动; 缺点 重客户端,升级困难; 不支持append、truncate、concat等操作; 不支持snapshot; 权限复杂:Client需要bucket ak、sk才能访问,造成 冷数据访问混合了kerberos权限和bucket权限;
15 .小米HDFS、HBase团队招人,欢迎来聊
16 .