数据湖实操讲解【数据迁移】第一讲:高效迁移 HDFS 海量文件到 OSS

以下文章来源于公众号 <数据湖技术圈>

本期导读  :【数据迁移】第一讲

主题:高效迁移 HDFS 海量文件到 OSS

讲师:扬礼,阿里巴巴计算平台事业部 EMR 开发工程师

主要内容:

  • DistCp 介绍

  • Jindo DistCp 介绍

  • 性能优化

  • 功能演示

直播回放链接:

https://developer.aliyun.com/live/246728

1

背景介绍

为了让更多开发者了解并使用 JindoFS+OSS,由阿里云JindoFS+OSS 团队打造的专业公开课【数据湖JindoFS+OSS 实操干货36讲】在每周二16:00 准时直播开讲!扫描文章底部二维码,进钉钉群不错过每次直播信息!

2

内容概述

什么是 DistCp?

DistCp(分布式拷贝)是用于大规模集群内部和集群之间拷贝的工具。它使用 Map/Reduce 实现文件分发,错误处理和恢复,以及报告生成。它把文件和目录的列表作为 map 任务的输入,每个任务会完成源列表中部分文件的拷贝。

DistCp 工具种类

Jindo DistCp 介绍

  • 分布式文件拷贝工具,基于 MapReduce

  • 支持多种数据源(HDFS / OSS / S3 / COS 等)

  • 多种拷贝策略,功能对齐开源 Hadoop DistCp 及 S3 DistCp 等 

  • 深度结合 OSS,基于 native 实现的 JindoFS SDK

  • 优化 JobCommitter,性能领先开源工具

现有 HDFS海量文件同步到 OSS 存在的问题

  • 文件数量规模大,百/千万级,开源 DistCp 超时/OOM 等 

  • HDFS 拷贝到 OSS ,效率较慢,Rename 耗时

  • 现有开源工具无法保证数据拷贝一致性 

  • 不支持传输时进行归档/冷存储等 OSS 特性

Jindo DistCp 基于 HDFS 海量文件同步到 OSS 场景优化

  • 分批 Batch,避免文件数过多/文件size过大,造成超时/OOM

  • 定制化 CopyCommitter,实现 No-Rename 拷贝,并保证数据拷贝落地的一致性 

  • 大/小文件传输策略优化 

  • 基于 native 实现的 JindoFS SDK,优化读写 OSS 性能

性能优化:CopyCommitter – NoRename 拷贝

1、MapReduce JobCommitter

2、Jindo CopyCommitter

基于对象存储系统的 Multipart Upload,结合 OSS 文件系统层面的定制支持,可以实现在保证数据一致性前提下无需 Rename 操作的 Job Committer 实现。

性能测试

我们做了一个 Jindo DistCp 和 Hadoop DistCp的性能对比,在这个测试中我们以 HDFS 到 OSS 离线数据迁移为主要场景,利用Hadoop 自带的测试数据集 TestDFSIO 分别生成1000个10M、1000个500M、1000个1G 大小的文件进行从 HDFS 拷贝数据到 OSS 上的测试过程。

⭐Github链接:

https://github.com/aliyun/alibabacloud-jindofs/blob/master/docs/jindo_distcp/jindo_distcp_overview.md

浏览器打开Github链接,点击对应使用场景,进行具体实践。

实例演示

  • 在Github中下载  jindo-distcp-3.5.0.jar

  • 将 jar 包拷贝到可提交 YARN 作业的节点上

  • 选择 src 和 dest 路径及合适的参数

    hadoop jar jindo-distcp-3.5.0.jar --src /data --dest oss://yang-ha/data --parallelism 10

  • 执行命令

  • 查看进度(命令行/WebUI)

点击文章下方阅读原文,直接观看视频回放,获取实例讲解~


不错过每次直播信息、探讨更多数据湖 JindoFS+OSS 相关技术问题,欢迎扫码加入钉钉交流群!

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值