Hadoop Distcp(Distributed copy)主要是用于 Hadoop 文件系统内部或之间进行大规模数据复制的工具,它基于 Map/Reduce 实现文件分发、错误处理以及最终的报告生成。由于利用了 Map/Reduce 的并行处理能力,每个 Map 任务负责完成源路径中部分文件的复制,因此它可以充分利用集群资源来快速完成集群或 Hadoop 文件系统之间的大规模数据迁移。

由于 Hadoop-COS 实现了 Hadoop 文件系统的语义,因此利用 Hadoop Distcp 工具可以方便地在 COS 与其他 Hadoop 文件系统之间进行双向的数据迁移,本文就以 HDFS 为例,介绍 Hadoop 文件系统与 COS 之间利用 Hadoop Distcp 工具完成数据迁移的方式。

一、前提条件

1、Hadoop 集群中已经安装 Hadoop-COS 插件(https://cloud.tencent.com/document/product/436/6884),并且正确配置了 COS 的访问密钥等。可使用如下 Hadoop 命令检查 COS 访问是否正常:

hadoop fs -ls cosn://examplebucket-1250000000/

如果能够正确地列出 COS Bucket 中的文件列表,则表示 Hadoop-COS 安装和配置正确,可以进行以下实践步骤。

2、COS 的访问账户必须要具备读写 COS 存储桶中目标路径的权限。

二、实践步骤

1、将 HDFS 中的数据复制到 COS 的存储桶中

通过 Hadoop Distcp 将本地 HDFS 集群中/test目录下的文件迁移到 COS 的 hdfs-test-1250000000 存储桶中。

1) 执行如下命令启动迁移:

hadoop distcp hdfs://10.0.0.3:9000/test cosn://hdfs-test-1250000000/

Hadoop Distcp 会启动 MapReduce 作业来执行文件复制任务,完成后会输出简单报表信息,如下图所示:

2) 执行 hadoop fs -ls -R cosn://hdfs-test-1250000000/ 命令可以列出刚才已迁移到存储桶 hdfs-test-1250000000 的目录和文件。

2、将 COS 中存储桶的文件复制到本地 HDFS 集群

Hadoop Distcp 是一个支持不同集群和文件系统之间复制数据的工具,因此,将 COS 存储桶中的对象路径作为源路径,HDFS 的文件路径作为目标路径即可将 COS 中的数据文件复制到本地 HDFS:

hadoop distcp cosn://hdfs-test-1250000000/test hdfs://10.0.0.3:9000/

3、指定配置 Distcp 命令行参数进行 HDFS 和 COS 之间的数据迁移

说明:该命令行配置支持双向操作,可支持 HDFS 数据迁移到 COS,也可以将 COS 数据迁移到 HDFS。

用户可直接配置以下命令:

hadoop distcp -Dfs.cosn.impl=org.apache.hadoop.fs.CosFileSystem -Dfs.cosn.bucket.region=ap-XXX  -Dfs.cosn.userinfo.secretId=AK**XXX  -Dfs.cosn.userinfo.secretKey=XXXX  -libjars /home/hadoop/hadoop-cos-2.6.5-shaded.jar  cosn://bucketname-appid/test/ hdfs:///test/

参数说明如下:

  • Dfs.cosn.impl:始终配置为 org.apache.hadoop.fs.CosFileSystem。

  • Dfs.cosn.bucket.region:填写存储桶所在地域,可在 COS 控制台存储桶列表中查看。

  • Dfs.cosn.userinfo.secretId:填写存储桶拥有者账号下的 SecretId,可前往「访问管理-API 密钥管理」中获取。

  • Dfs.cosn.userinfo.secretKey:填写存储桶拥有者账号下的 secretKey,可前往「访问管理-API 密钥管理」中获取。

  • libjars:指定 Hadoop-COS jar 包位置。Hadoop-COS jar 包可前往「Github 仓库:https://github.com/tencentyun/hadoop-cos」中的 dep 目录下进行下载。

三、Hadoop distcp 的扩展参数

Hadoop distcp 工具支持丰富的运行参数。例如,可以通过-m来指定最大用于并行复制的 Map 任务数目,-bandwidth来限制每个 map 所使用的最大带宽等。

具体可参考 Apache Hadoop distcp 工具的官方文档:DistCp Guide(https://hadoop.apache.org/docs/current/hadoop-distcp/DistCp.html)。

 点击阅读原文,领取 COS 限时1元礼包!

Hadoop 文件系统与 COS 之间的数据迁移相关推荐

  1. 不同数据库之间的数据迁移方案设计及迁移工具选择

    以前的工作迁移过oracle到Informix.oracle和SQLSERVER.oracle到mysql. 在目前的公司又因为去o的关系,做了大量的迁移工作,栽了不少坑,所以和大家交流一下在迁移的过 ...

  2. oracle remap schema,【IMPDP】 实现不同用户之间的数据迁移——REMAP_SCHEMA参数

    众所周知,IMP工具的FROMUSER和TOUSER参数可以实现将一个用户的的数据迁移到另外一个用户.同样的功能在IMPPDP工具中如何得以体现呢?答案就是:使用IMPPDP的REMAP_SCHEMA ...

  3. Hadoop离线 day18 sqoop数据迁移和java执行shell命令

    sqoop数据迁移和java执行shell命令 3. sqoop数据迁移 3.1.概述 3.2.sqoop1与sqoop2架构对比 3.3.工作机制 3.4 .sqoop实战及原理 3.4.1 sqo ...

  4. sqoop 数据迁移

    sqoop 数据迁移 1 概述 sqoop是apache旗下一款"Hadoop和关系数据库服务器之间传送数据"的工具. 导入数据:MySQL,Oracle导入数据到Hadoop的H ...

  5. 云数据迁移(Cloud Data Migration,CDM)

    云数据迁移(Cloud Data Migration,CDM) 云数据迁移(Cloud Data Migration,CDM)提供同构/异构数据源之间批量数据迁移服务,帮助客户实现数据自由流动.支持客 ...

  6. 跨Hadoop平台Hive表export和import迁移

    场景:两个Hadoop平台集群之间Hive表迁移. 思路:Hive表元数据和文件数据export到HDFS文件,通过Distcp将HDFS迁移到另一个集群的HDFS文件,再通过import在新Hive ...

  7. 云小课|云小课带你快速掌握云数据迁移CDM

    阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要:欢迎来到云数据迁移 ...

  8. sqoop关系型数据迁移原理以及map端内存为何不会爆掉窥探

    序:map客户端使用jdbc向数据库发送查询语句,将会拿到所有数据到map的客户端,安装jdbc的原理,数据全部缓存在内存中,但是内存没有出现爆掉情况,这是因为1.3以后,对jdbc进行了优化,改进j ...

  9. 基于内容的数据迁移计划和方案--转载

    越来越多的企业用内容管理系统来管理电子发票,电子文档,人力资源等结构化或非结构化数据内容,而且把这些业务外包到第三方的 IT 公司.外包公司的更换,或者现有内容管理系统不能满足业务增长,性能,兼容性等 ...

最新文章

  1. android中The connection to adb is down,问题和解决 AndroidEclipseAntXML
  2. 【Android 逆向】IDA 工具使用 ( 函数窗口 Function window | 创建引用图 Xrefs graph to | 创建调用图 Xrefs graph from )
  3. macOS 上的 Charles 配置看一篇就够了
  4. 极具潜力的新兴职业!
  5. 进程间通信--IPC
  6. mysql语句:索引,游标,存储过程,视图,分区,分库分表,数据库集群,数据库负载均衡...
  7. zoj 3791 An Easy Game
  8. HDU - 2438 Turn the corner(三分)
  9. 机器人J中WPR_北方工业大学服务机器人研究项目介绍
  10. 数字在排序数组中的出现次数
  11. pytorch: where、gather函数
  12. 一招定乾坤(最佳买点)系列
  13. 2021年高考成绩查询徐水,2021年4月河北保定徐水区自考成绩5月18日公布
  14. 关于Lambda表达式的简单语法理解,有参无参,有无返回值的格式的理解,仅限编程新手
  15. 【历史上的今天】7 月 14 日:MP3 诞生日;系统动力学的开创者诞生;正面战胜 IBM 的计算机公司
  16. 2010年度CSDN十大博客文章
  17. 关于数据库中存储密码的加密
  18. C# Windows系统音量调节Demo源码
  19. 数据分析 EXCEL
  20. ExtentReports生成自动化测试报告

热门文章

  1. ABCD……组成菱形
  2. 「Flink实时数据分析系列」2. 流处理基本概念
  3. 【NOIP2013】华容道 最短路优化搜索(spfa)
  4. 李飞飞CS231n2017课程双语字幕版上线 !(附课程链接)
  5. 打码平台php源码,打码平台 远程打码 实例源码
  6. 慢慢读《Deep Learning In Natural Language Processing》(一)
  7. 【读书笔记】NeurIPS2018的两篇文章:The Tradeoffs of Large Scale Learning和Neural Ordinary Differential Equations
  8. 工作、求职需要记住的英文缩写,offer讨论避免尴尬
  9. 前端工程师的摸鱼日常(12)
  10. 肖申克的救赎 -Hope