再出王牌:阿里云 Jindo DistCp 全面开放使用,成为阿里云数据迁移利器

本文涉及的产品
EMR Serverless StarRocks,5000CU*H 48000GB*H
EMR Serverless Spark 免费试用,1000 CU*H 有效期3个月
简介: 此前 Jindo DistCp 仅限于E-MapReduce产品内部使用,此次全方位面向整个阿里云OSS/HDFS用户放开,并提供官方维护和支持技术,欢迎广大用户集成和使用。

作者:王涛,花名扬礼,阿里巴巴计算平台事业部 EMR 开发工程师. 目前从事开源大数据存储计算方面的开发和优化工作。


随着阿里云JindoFS SDK的全面放开使用,基于JindoFS SDK的阿里云数据迁移利器Jindo DistCp现在也全面面向用户开放使用。Jindo DistCp是阿里云E-MapReduce团队开发的大规模集群内部和集群之间分布式文件拷贝的工具。其使用MapReduce实现文件分发,错误处理和恢复,把文件和目录的列表作为map/reduce任务的输入,每个任务会完成源列表中部分文件的拷贝。目前全量支持hdfs->oss,hdfs->hdfs,oss->hdfs,oss->oss的数据拷贝场景,提供多种个性化拷贝参数和多种拷贝策略。重点优化hdfs到oss的数据拷贝,通过定制化CopyCommitter,实现No-Rename拷贝,并保证数据拷贝落地的一致性。功能全量对齐S3 DistCp和HDFS DistCp,性能较HDFS DistCp有较大提升,目标提供高效、稳定、安全的数据拷贝工具。本文主要介绍如何使用Jindo DistCp来进行基本文件拷贝,以及如何在不同场景下提高数据拷贝性能。值得一提的是,此前 Jindo DistCp 仅限于E-MapReduce产品内部使用,此次全方位面向整个阿里云OSS/HDFS用户放开,并提供官方维护和支持技术,欢迎广大用户集成和使用。

大数据和数据迁移工具

在传统大数据领域,我们经常使用HDFS作为底层存储,并且在HDFS存储大规模的数据。在进行数据迁移、数据拷贝的场景中,大家选择最常用的是Hadoop自带的DistCp工具,但是其不能很好利用对象存储系统如OSS的特性,导致效率低下并且不能最终保证一致性,提供的功能选项也比较简单,不能很好的满足用户的需求。此时一个高效、功能丰富的数据迁移工具成为影响软件搬栈、业务上云的重要影响因素。

Hadoop DistCp

Hadoop DistCp是Hadoop集成的分布式数据迁移工具,提供了基本文件拷贝、覆盖拷贝、指定map并行度、log输出路径等功能。在Hadoop2x上对DistCp进行了部分优化例如拷贝策略的选择,默认使用 uniformsize(每个 map 会平衡文件大小)如果指定 dynamic,则会使用 DynamicInputFormat。这些功能优化了普通hdfs间数据拷贝,但是对于对象存储系统如OSS缺少数据写入方面的优化。

S3 DistCp

S3 DistCp是AWS为S3提供的distcp工具, S3DistCp是Hadoop DistCp 的扩展,它进行了优化使得其可以和S3结合使用,并新增了一些实用功能。新增功能如增量复制文件、复制文件时指定压缩方式、根据模式进行数据聚合、按照文件清单进行拷贝等。S3 DistCp依靠S3对象存储系统,目前只能在AWS EMR内部使用,并不开放给普通用户。

Jindo DistCp

Jindo DistCp是一个简单易用的分布式文件拷贝工具,目前主要用在E-Mapreduce集群内,主要提供hdfs到OSS的数据迁移服务,相比于Hadoop DistCp和S3 DistCp,Jindo DistCp做了很多优化以及新增了许多个性化功能,并且深度结合OSS对象存储的特性,定制化CopyCommitter,实现No-Rename拷贝,大大缩短上云数据迁移时间消耗。现在Jindo DistCp对外开放使用,我们可以使用该功能来进行上云数据迁移,获得OSS数据迁移利器。

为什么使用 Jindo DistCp?

1、效率高,在测试场景中最高可到1.59倍的加速。
2、基本功能丰富,提供多种拷贝方式和场景优化策略。
3、深度结合OSS,对文件提供直接归档和低频、压缩等操作。
4、实现No-Rename拷贝,保证数据一致性。
5、场景全面,可完全替代Hadoop DistCp,支持多Hadoop版本(如有问题可提issue)

Jindo DistCp 兼容性如何?

Jindo DistCp目前支持Hadoop2.7+和最新的Hadoop3.x,以两个不同的jar形式提供服务,依赖Hadoop环境并且不会和Hadoop DistCp产生冲突。在阿里云EMR内部可直接提供Jindo DistCp的服务,用户无需进行jar包下载。用户下载jar包后,再通过参数或者Hadoop配置文件配上oss的AK即可使用。

使用 Jindo DistCp 性能提升多少?

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

截屏2020-07-14 下午6.41.02.png
45.png

分析测试结果,可以看出Jindo DistCp相比Hadoop DistCp具有较大的性能提升,在测试场景中最高可达到1.59倍加速效果。

使用工具包

1. 下载jar包

我们去github repo下载最新的jar包 jindo-distcp-x.x.x.jar
注意:目前Jar包只支持Linux、MacOS操作系统,因为SDK底层采用了native代码。

2. 配置OSS访问AK

您可以在命令中使用程序执行时指定--key、--secret、--endPoint参数选项来指定AK。

示例命令如下:

hadoop jar jindo-distcp-2.7.3.jar --src /data/incoming/hourly_table --dest oss://yang-hhht/hourly_table --key yourkey --secret yoursecret --endPoint oss-cn-hangzhou.aliyuncs.com
AI 代码解读

您也可以将oss的ak、secret、endpoint预先配置在 hadoop的 core-site.xml 文件里 ,避免每次使用时临时填写ak。

<configuration>
    <property>
        <name>fs.jfs.cache.oss-accessKeyId</name>
        <value>xxx</value>
    </property>
    <property>
        <name>fs.jfs.cache.oss-accessKeySecret</name>
        <value>xxx</value>
    </property>
    <property>
        <name>fs.jfs.cache.oss-endpoint</name>
        <value>oss-cn-xxx.aliyuncs.com</value>
    </property>
</configuration>
AI 代码解读

另外,我们推荐配置免密功能,避免明文保存accessKey,提高安全性。

使用手册

Jindo DistCp提供多种实用功能及其对应的参数选择,下面介绍参数含义及其示例

截屏2020-07-14 下午6.53.08.png
截屏2020-07-14 下午6.53.32.png

截屏2020-07-14 下午6.53.50.png

更多详细使用细节,请参考Jindo DistCp使用指南

联系我们

Jindo DistCp还在日益完善,后续会不断根据用户需求进行优化。欢迎大家下载使用Jindo DistCp,如果遇到任何问题,请随时联系阿里云E-Mapreduce团队,或者在github上提交issue,我们将尽快为您解答。


相关阅读

重磅:阿里云 JindoFS SDK 全面开放使用,OSS 文件各项操作性能得到大幅提升

JindoFS - 分层存储

EMR Spark-SQL性能极致优化揭秘 Native Codegen Framework

Jindo SQL 性能优化之 RuntimeFilter Plus

JindoFS: 云上大数据的高性能数据湖存储方案

JindoFS概述:云原生的大数据计算存储分离方案

JindoFS解析 - 云上大数据高性能数据湖存储方案


后续我们也会在云栖社区和钉钉群分享更多的 Jindo 技术干货,欢迎有兴趣的同学加入 【阿里云EMR钉钉群】进行交流和技术分享。
产品群.JPG

相关实践学习
基于EMR Serverless StarRocks一键玩转世界杯
基于StarRocks构建极速统一OLAP平台
快速掌握阿里云 E-MapReduce
E-MapReduce 是构建于阿里云 ECS 弹性虚拟机之上,利用开源大数据生态系统,包括 Hadoop、Spark、HBase,为用户提供集群、作业、数据等管理的一站式大数据处理分析服务。 本课程主要介绍阿里云 E-MapReduce 的使用方法。
目录
打赏
0
1
0
0
3055
分享
相关文章
恭喜小红书!业界最大数据湖0故障迁上阿里云
恭喜小红书!业界最大数据湖0故障迁上阿里云
264 1
DataX:数据同步的超音速英雄!阿里开源工具带你飞越数据传输的银河系,告别等待和故障的恐惧!快来见证这一数据工程的奇迹!
【8月更文挑战第13天】DataX是由阿里巴巴开源的一款专为大规模数据同步设计的工具,在数据工程领域展现强大竞争力。它采用插件化架构,支持多种数据源间的高效迁移。相较于Apache Sqoop和Flume,DataX通过并发写入和流处理实现了高性能同步,并简化了配置流程。DataX还支持故障恢复,能够在同步中断后继续执行,节省时间和资源。这些特性使其成为构建高效可靠数据同步方案的理想选择。
486 2
百川终入海 ,一站式海量数据迁移工具 X2Doris 正式发布
在这一过程中,如何将海量历史数据进行高效迁移成为用户的痛点所在。基于这一目标,我们启动了名为“百川入海”的专项开发任务,开发了**一站式海量数据迁移工具 X2Doris**,集自动建表和数据迁移于一体、提供了对 Apache Hive、ClickHouse、Apache Kudu 以及 StarRocks 等多个数据源的支持,全程界面化、可视化操作,仅通过鼠标操作即可完成大规模数据同步至 Doris 中,并提供了极速和稳定的迁移体验。在经过数个月的公开测试和近百家企业的打磨后,今天我们很高兴地宣布, **X2Doris 正式发布、面向所有社区用户免费下载使用**,数据迁移至 Apache Do
百川终入海 ,一站式海量数据迁移工具 X2Doris 正式发布
众安保险 CDP 平台:借助阿里云数据库 SelectDB 版内核 Apache Doris 打破数据孤岛,人群圈选提速4倍
众安保险在CDP(Customer Data Platform,客户数据平台)建设中,通过引入阿里云数据库SelectDB版内核Apache Doris,成功打破了数据孤岛,并显著提升了人群圈选的速度
320 1
实时计算 Flink版产品使用合集之管理内存webui上一直是百分百是什么导致的
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStreamAPI、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
MaxCompute( 原名ODPS)大数据容灾方案与实现(及项目落地实例)专有云
一,背景与概述    复杂系统的灾难恢复是个难题,具有海量数据及复杂业务场景的大数据容灾是个大难题。    MaxCompute是集团内重要数据平台,是自主研发的大数据解决方案,其规模和稳定性在业界都是领先的。
2539 17
实时计算 Flink版产品使用合集之有提供机制来检查和报告数据同步的完整性吗
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
TIS借力阿里云 JindoFS 快速实现云上数据集成分析
利用TIS 借力阿里云 Jindo 快速实现云上数据集成分析,为用户提供免维护、费用低廉、稳定、高效的数仓服务。
380 0
2021阿里巴巴大数据技术公开课第一季 — 外部工具连接SaaS模式云数仓MaxCompute实战
MaxCompute 是面向分析的企业级 SaaS 模式云数据仓库,以 Serverless 架构提供快速、全托管的在线数据仓库服务,消除了传统数据平台在资源扩展性和弹性方面的限制,最小化用户运维投入,帮助企业和大数据开发者经济并高效的分析处理海量数据。
796 0
2021阿里巴巴大数据技术公开课第一季 — 外部工具连接SaaS模式云数仓MaxCompute实战