- 快召唤伙伴们来围观吧
- 微博 QQ QQ空间 贴吧
- 视频嵌入链接 文档嵌入链接
- 复制
- 微信扫一扫分享
- 已成功复制到剪贴板
Apache Ozone 1.4.0 版本新特性一览-陈怡
陈怡-Cloudera首席存储工程师
Cloudera首席存储工程师,主要参与Ozone的内核开发。同时在Apache开源社区担任Ozone PMC Chair 和 Hadoop PMC,长期专注于分布式存储领域。
分享介绍:
Apache Ozone是Apache基金会下的新一代分布式存储系统。Ozone 构架简洁,扩展性良好,同时支持S3对象协议和Hadoop文件系统。本次演讲将分享Ozone社区的一些最新进展,包括即将要发布的1.4.0的核心新功能,以及1.3.0 已有功能的提升和完善。
展开查看详情
1 .Apache Ozone 1.4.0 版本新特性一览 陈怡 - Cloudera 首席存储工程师 1
2 .议题 I. 纠删码 II.快照 III.SCM HA 实例管理 IV.OM 读优化 V.Recon 新功能 2
3 .纠删码 - 介绍 I. 纠删码是一种数据保护的方法 II. 纠删码在数据(d)的基础上,通过计算得到校 验数据(p) III.数据和校验数据同时保存在系统里 IV.当有数据或校验数据丢失时,通过计算恢复丢 失的数据 3
4 .纠删码 - 存储效率 纠删码有更好的存储效率,和更高的数据副本丢失容忍度 4
5 .纠删码 - 策略 5
6 .纠删码 - 配置 I. 全局配置 I. ozone.server.default.replication -> RS-6-3-1024k II. ozone.server.default.replication.type -> EC II. Bucket 配置 I. 新建Bucket:ozone sh bucket create <bucket path> --type EC --replication rs-6-3-1024k II. 已有Bucket:ozone sh bucket set-replication-config <bucket path> --type EC --replication rs-6-3-1024k III.Key 配置 I. ozone sh key put --type EC --replication rs-3-2-1024k $remote_key_name $local_file_name 注意 FS(OFS, O3FS) 和 S3 客户端只支持Bucket 级别的EC 配置 I. FS 接口目前还没有API支持设置 EC 选项 II. S3 的storage class 还未支持,且storage class不能完全一一映射到EC 选项 6
7 .纠删码 - 条带Padding 不满的条带块,使用0 Padding,最后计算校验数据 7
8 .纠删码 - 数据布局和数据写入 I. Client请求OM请求分配新的Block。 II. 通过RoundRobin的方式,Client依次把数据块 写到对应的DN。单个条带的所有数据块写完后, 生成条带校验码块,写入后续的DN节点。 III.每个EC Container 副本记录自己在Group里的 Index信息。 IV.每个EC Container 对应一个EC pipeline,包 含所有的DN(数据和校验)。EC pipeline 不使用 RATIS。 V. 当条带写入失败,Client关闭当前的Block,然 后向OM请求分配新的Block,继续写入该条带 数据。 8
9 .纠删码 - 数据读取 - Happy Path 9
10 .纠删码 - 数据读取 - Failure Flow 在线修复 当读数据失败时,客户端会启动数据修复, 读取数据和校验数据,在线重构丢失的数 据 10
11 .纠删码 - 数据读取 - Failure Flow 离线修复 I. SCM定期巡检副本数不够的 Container II. SCM发送离线修复指令给选中的 Coordinator DN III.Coordinator DN 负责读取数据, 重构数据,传输和保存新数据 IV.保存新数据的DN向SCM汇报新 副本 11
12 .快照 - 概览 12
13 .快照 I. 目前支持Bucket 级别的快照 II. 主要操作: I. 创建 II. 查询/访问 III.删除 IV.快照Diff III.快照不能嵌套 13
14 .快照 - 创建 I. 利用了底层RocksDB Checkpoint的机制 II. 创建Hardlink,不直接拷贝文件,有效利用空间 III. 每个快照保存在独立的目录 14
15 .快照 - 创建 按照创建的时间序,维护全局的快照链,和每个Bucket的快照链 15
16 .快照 - 访问 通过 volume/bucket/.snapshot/snapshot_name 来访问snapshot的 内容 16
17 .快照 - 删除 I. 异步操作,空间释放在后台进行 II. 删除顺序没有限制 17
18 .快照 - 空间回收 在快照中的对象/文件不能被立即回收 18
19 .快照 Diff I. 命令行启动Diff 任务,后台异步运行 ozone sh snapshot diff $bucket $snap1 $snap2 II. 任务完成时间和两个快照间的差异量 成一定比例 19
20 .SCM 实例管理 - Decommission 当需要下线SCM实例,通过Decommission SCM命令 ozone admin scm decommission [--service-id=<scmServiceId>] -nodeid=<nodeId> 初始 SCM HA 20
21 .SCM 实例管理 - Recommission 通过在ozone-site.xml里配置新的SCM信息,初始化和启动SCM,来添加新的SCM实例 ozone scm —bootstrap && ozone scm --daemon start 21
22 .SCM 实例管理 - Leader Transfer 通过命令行,切换当前的Leader节点 ozone admin scm transfer [--service-id=<scmServiceId>] -n=<nodeId> 22
23 . Ozone Manager 读性能优化 HDDS-7223 OM缓存Container位置信息 ozone.om.container.location.cache.size 100K ozone.om.container.location.cache.ttl 360m 23
24 . Ozone Manager 读性能优化 HDDS-7733 Block Token 使用对称加密算法 I. HMAC 比 RSA 算法快一个数量级 II. 新实现使用了 HmacSHA256 算法 客户端读写DN上数据的凭证 RSAKey size(bit) Avg sign latency(ms) HmacSHA1 Key size (bit) Latency(ms) HmacSHA256 Key size (bit) Latency (ms) 512 0.05 64 (default HDFS key size) 0.0022 512 0.0035 1024 0.24 512 0.0027 1024 0.0045 2048 1.4 1024 0.0033 2048 0.0056 4096 9.5 2048 0.004 4096 0.007 4096 0.005 24
25 . OM 读性能数据 操作 指标 优化前 优化后 每秒查询key请求数 om_metrics_num_get_key_info 15.8K 108K 查询key时延 om_performance_metrics_get_key_info_late6.4ms 873us ncy_ns_avg_time BlockToken生成时延 om_performance_metrics_get_key_info_gen 6+ms 17us erate_block_token_latency_ns_avg_time 25
26 . 性能调试辅助工具 HDDS-7489 支持Datanode假节点创建 ozone freon simulate-datanode -t threadCount -n datanodesCount -c containerCount 26
27 .Recon UI 展示集群的各种运行信息 27
28 .Recon UI - 分布统计 I. 文件大小分布 II. Container 大小分布 28
29 .29