首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏浪浪山下那个村

    DistCp源码解析

    说明 DistCp(分布式拷贝)是用于大规模集群内部和集群之间拷贝的工具。 它使用Map/Reduce实现文件分发,错误处理和恢复,以及报告生成。 这篇文档会为常用DistCp操作提供指南并阐述它的工作模型。 DistCp的入口函数是main函数,在main函数里面主要做了两件事: 注册Cleanup。 作业提交 由于DistCp也是MapReduce作业,所以作业提交沿用了MapReduce作业提交的框架,对于Map和Reduce的处理类, 以及InputFormat和outputFormat都是DistCp job.setOutputFormatClass(CopyOutputFormat.class); Distcp的AM结束时的核心处理类是CopyCommitter。

    19910编辑于 2025-10-11
  • 来自专栏python前行者

    hive distcp数据同步

    hive distcp数据同步 查看分区数据大小 hdfs dfs -du -h /user/hive/warehouse/compass.db/page_activity_chitu_prd/ 不同集群 ,分区表,单个分区同步(从本地到远程集群拷贝) hadoop distcp /user/hive/warehouse/compass.db/page_activity_merchant_prd/p_data_day 10.88.12.12/user/hive/warehouse/compass.db/page_activity_merchant_prd/ 不同集群,全表同步(从本地到远程集群拷贝) hadoop distcp user/hive/warehouse/test_gs_dw_prd.db/ads_quickbi_user_behavior_emp_1d/ -- 同步HDFS数据(shell执行) hadoop distcp root.bi_qipu.p1】 拷贝 jin_warehouse_dim.db/hive_user_reader/下的所有分区到jin_warehouse_dwd.db/hive_user_reader/ 下 hadoop distcp

    49160编辑于 2023-10-10
  • 来自专栏python前行者

    hive distcp数据同步

    hive distcp数据同步 查看分区数据大小 hdfs dfs -du -h /user/hive/warehouse/compass.db/page_activity_chitu_prd/ 不同集群 ,分区表,单个分区同步(从本地到远程集群拷贝) hadoop distcp /user/hive/warehouse/compass.db/page_activity_merchant_prd/p_data_day 10.88.12.12/user/hive/warehouse/compass.db/page_activity_merchant_prd/ 不同集群,全表同步(从本地到远程集群拷贝) hadoop distcp user/hive/warehouse/test_gs_dw_prd.db/ads_quickbi_user_behavior_emp_1d/ -- 同步HDFS数据(shell执行) hadoop distcp root.bi_qipu.p1】 拷贝 jin_warehouse_dim.db/hive_user_reader/下的所有分区到jin_warehouse_dwd.db/hive_user_reader/ 下 hadoop distcp

    43420编辑于 2023-10-10
  • 来自专栏公有云大数据平台弹性 MapReduce

    浅谈Hadoop Distcp工具的InputFormat

    背景 在集群迁移或者数据跨集群同步的过程中,必要少不了数据拷贝的动作,在同一个集群内,跨NameSpace的数据拷贝,你可以使用distcp,你也可以自己实现类似facebook提供的fastcopy的拷贝 (社区好像没提供),那么在使用distcp工具的过程中,其中的一些参数到底影响了什么,他是一个怎样的原理,今天就和大家简单的分享下。 我们在命令行执行hadoop distcp命令回车,就会看到他所支持的很多参数,其中在命令行拷贝策略(-strategy)选项中,有两个参数可选参数:dynamic,uniformsize。 在默认情况下使用的是uniformsize,含义是distcp的每个map会相对均衡去复制数据量大小的文件。 我们通过查看源码容易可以看出,除了命令行选项之外,distcp还能默认的去加载distcp-default.xml,我们可以放置到$HADOOP_CONF_DIR下,我们可以配置相对常用的参数到这个文件中

    2.5K74发布于 2018-08-10
  • 来自专栏大数据生态

    distcp 并行同步脚本

    DistCp(distributed copy)是用于大型内部/集群内复制的工具。它使用 MapReduce 来实现其分发、错误处理和恢复、报告的功能。 DistCp 是 Hadoop 自带的文件迁移工具。在迁移数据的过程中,如果单个目录下数据量较大那么使用 distcp 直接同步整个目录,则会有同步时间长、同步报错的问题。 其中使用的是hadoop用户提交任务;默认最大discp任务并行个数为 10;distcp同步日志在当前目录下的logs目录下。#!/bin/bashif [ ! | awk -F"/" '{print $NF}'` echo "discp task name: $task_name " runningapp=$(ps -ef | grep distcp |wc -l) echo "yarn正在执行的 distcp 任务数:"$runningapp",sleep 5秒...."

    82640编辑于 2023-03-14
  • 来自专栏容器计算

    【HDFS】distcp报错Check0sum mismatch

    本来想写个 spark 任务来导数据的,但是时间有限,为了快速实现把数据从 HDFS 集群 A 转移到集群 B,还是选择用 hadoop distcp 命令来拷贝数据。具体的命令如下。 hadoop distcp hdfs://clusterA/xxx hdfs://clusterB:/xxx 没想到报错了。 错误信息的分析也很简单,就是没有 Check-sum 这个文件。 # bin/hadoop distcp usage: distcp OPTIONS [source_path...] <target_path> OPTIONS -async Should distcp execution be blocking -atomic Reference https://hadoop.apache.org/docs/current/hadoop-distcp/DistCp.html

    1.2K30发布于 2020-08-08
  • 来自专栏大数据平台TBDS

    小文件数过多导致distcp迁移报错

    DistCp(分布式拷贝)是用于大规模集群内部和集群之间拷贝的工具。 它使用Map/Reduce实现文件分发,错误处理和恢复,以及报告生成。 它把文件和目录的列表作为map任务的输入,每个任务会完成源列表中部分文件的拷贝 问题描述 使用distcp工具将老的hdfs集群上的文件夹迁移到新hdfs集群上,经常出现在map跑到一定阶段后报错"java.lang.OutOfMemoryError ---单个JVM最大能开启的线程数为此值一半 3.查看服务器上相关参数pid_max值为32678,其他几个参数都超过10万,所以准备验证pid_max参数是否为限制所在 3.png 4.重新执行distcp 开始报错,nodemanager进程也开始报错 5.png distcp执行的map阶段开始报错 6.png 对应172.24.26.20机器的nodemanager日志也出现报错 7.png 172.24.26.20节点的nodemanager进程报错退出后,线程数开始释放,确定在3万左右的时候为线程数极限 8.png (4).修改服务器的pid_max值为50000,重新测试 (5)重新执行distcp

    3.1K60发布于 2019-06-04
  • 来自专栏Hadoop实操

    0850-7.1.4-如何为distcp作业设置application tag

    本文档就如何设置distcp作业的application tag来进行说明。 测试环境: 1.Redhat7.6 2.采用root用户操作 3.CM和CDH版本为CDH7.1.4 2.测试步骤 2.1 未设置前提交作业的情况 1.通过下面命令提交distcp作业 hadoop distcp 2.2添加-Dmapreduce.job.tags参数后作业情况 1.用下面命令提交作业,添加-Dmapreduce.job.tags=tag1参数 hadoop distcp -Dmapreduce.job.tags 3.总结 1.通过添加参数-Dmapreduce.job.tags,可以在distcp作业上加上application tag的标签。 2.对于其他的mapreduce作业,该参数同样适用。

    1.1K30发布于 2021-07-05
  • 来自专栏大数据杂货铺

    使用Distcp和HMS-Mirror同步Hive到CDP

    迁移步骤 将Hive的数据通过Distcp迁移到CDP平台对应的目录 利用HMS Mirror将Hive的元数据迁移到CDP平台中 实验环境确认 源集群环境 源集群未启用Kerberos安全 Test_db CDP Base集群中使用的Hive版本为3.1.3 使用Distcp将数据迁移到CDP 源库数据可以直接使用distcp进行迁移,如果数据会更新,减少数据更新导致的数据不一致和后续比较增量,推荐对需要迁移的数据制作快照 hadoop distcp -D ipc.client.fallback-to-simple-auth-allowed=true hdfs://172.27.38.73:8020/user/hive/ 您可以在使用较低集群中的数据进行测试时链接集群并复制元数据,也可以使用“distcp”迁移数据并将元数据复制到新集群或 CDP Cloud。 支持模式同步和 DR“只读”方案。 目录的新快照(也可以使用其他方式生成快照) 同步hdfs增量数据 在目标集群上使用distcp命令同步增量数据。

    1.7K20编辑于 2022-03-29
  • 来自专栏腾讯云存储

    Hadoop 文件系统与 COS 之间的数据迁移

    Hadoop Distcp(Distributed copy)主要是用于 Hadoop 文件系统内部或之间进行大规模数据复制的工具,它基于 Map/Reduce 实现文件分发、错误处理以及最终的报告生成 为例,介绍 Hadoop 文件系统与 COS 之间利用 Hadoop Distcp 工具完成数据迁移的方式。 1.jpg 1) 执行如下命令启动迁移: hadoop distcp hdfs://10.0.0.3:9000/test cosn://hdfs-test-1250000000/ Hadoop Distcp 三、Hadoop distcp 的扩展参数 Hadoop distcp 工具支持丰富的运行参数。 具体可参考 Apache Hadoop distcp 工具的官方文档:DistCp Guide 。

    1.4K60发布于 2020-10-23
  • 来自专栏萝卜要加油

    Uber 如何扩展数据复制能力以实现每天 PB 级数据迁移

    理解 Distcp Distcp 是一个开源框架,用于以分布式方式在不同位置之间复制大规模数据集。 图 1:Distcp 高层架构。 Distcp 架构 Distcp 架构由以下几个关键组件组成: Distcp 工具(Distcp Tool): 识别文件,将其分组为块(拷贝清单,Copy Listing),定义跨 Mapper 的分发策略 在典型的 Distcp 提交流程中,多个组件依赖 HDFS 客户端:Distcp Worker 用于数据比较,Distcp 工具用于拷贝清单,Hadoop 客户端用于输入分片。 图 8:观测到 Distcp 作业提交时间降低了 90%。 并行化拷贝清单任务 Distcp 工具运行拷贝清单任务以生成待拷贝文件的文件系统块。

    10210编辑于 2026-02-04
  • 来自专栏大数据杂货铺

    将数据迁移到CDP 私有云基础的数据迁移用例

    使用 DistCp 将 HDFS 数据从 HDP 集群迁移到CDP 私有云基础集群 您可以使用 Hadoop DistCp 工具将存储在 HDFS 中的数据从安全的 HDP 集群迁移到安全或不安全的 CDP 使用 DistCp 将数据从安全的 HDP 集群迁移到不安全的CDP 私有云基础集群 在运行 DistCp 以将数据从安全的 HDP 集群迁移到不安全的CDP 私有云基础集群之前,您必须允许hdfs用户在没有 在 HDP 集群上运行 DistCp 作业。 在 HDP 集群上运行 DistCp 作业 启用hdfs用户在 HDP 集群上运行 YARN 作业并在CDP 私有云基础 集群上进行所需的配置更改后,您可以运行 DistCp 作业将 HDFS 数据从安全的 在CDP 私有云基础集群上运行 DistCp 作业。

    2.4K20发布于 2021-10-09
  • 来自专栏Hadoop实操

    0921-7.1.9-bucket布局和从HDFS拷贝数据到Ozone

    5.所以我们可以使用hadoop distcp命令复制文件,它会向YARN提交一个MapReduce程序来运行拷贝作业,默认情况下该作业会使用多个服务器来运行复制作业,默认使用4个container。 这比使用ozone cp命令要更加高效,distcp是并行拷贝文件的强大工具,它提供了许多用于同步和自动复制数据的选项,即使通信出现错误也不会丢失任何文件。 ozone fs -mkdir -p ofs://ozone1/hive/warehouse/distcp/vehicles hadoop distcp -m 2 -skipcrccheck hdfs: ///tmp/vehicles.csv ofs://ozone1/hive/warehouse/distcp/vehicles 6.列出Ozone中的文件 ozone fs -ls ofs://ozone1 /hive/warehouse/distcp/vehicles 注意:HDFS 和Ozone的checksum不兼容,校验需要单独执行。

    42010编辑于 2024-04-30
  • 来自专栏我是攻城师

    Hadoop+Hbase集群数据迁移问题

    数据迁移或备份是任何一个公司都有可能到遇到的一件事,有关hbase数据迁移,官网也给出了几种方案,这里比较推荐使用hadoop distcp这种方式迁移。 版本 Hadoop2.7.1 Hbase0.98.12 今天在迁移同版本的hbase数据时,在使用Hadoop distcp时发现下图的一个问题: ? google查找类似错误,发现没有一样的例子,有的都是 关于crc文件校验和不匹配的问题,而上述错误,则是文件大小不一致,重试3次之后,都是类似错误,所以试着去hadoop的官网文档找答案,发现官网文档distcp /hbase/data/default 可以正确迁移数据,但如果使用了update后,应该使用下面的路径,注意目标路径上加了表名,如果不存在,如果提前创建下 Java代码 hadoop distcp 参考文档: http://hadoop.apache.org/docs/r2.7.1/hadoop-distcp/DistCp.html

    1.8K80发布于 2018-05-14
  • 来自专栏Hadoop实操

    如何在Kerberos与非Kerberos的CDH集群BDR不可用时复制数据

    文档主要讲述 1.测试集群环境描述 2.CDH的BDR功能验证 3.集群之间数据复制要求和限制 4.集群之间数据复制的方式 5.使用DistCp复制数据注意事项 6.通过DistCp进行数据互导 这篇文档将着重介绍 集群间数据复制 术语说明: 源集群(Source):指要迁移和复制数据的集群 目标集群(Destination):指存储迁移数据的集群 4.1集群间数据迁移的要求和限制 运行DistCp命令的集群必须启动 运行DistCp命令的集群中所有的MapReduce节点与源集群所有节点的网络是通的。 5.Distcp使用 注意:以下操作均在Kerberos集群上执行 5.1非Kerberos到Kerberos集群数据复制 非Kerberos集群为源集群,Kerberos集群为目标集群。 /sourcedata/ webhdfs://ip-172-31-6-148:14000/data ... 17/08/31 10:58:09 INFO tools.DistCp: DistCp job-id

    2.8K120发布于 2018-03-29
  • 来自专栏Hadoop实操

    0846-7.1.1-如何迁移HDP2.4中的Hive表到CDP7.1.1

    会出现主机名无法解析的问题 2.6使用HDFS distcp 命令进行数据拷贝 对于跨Hadoop 大版本的的distcp操作,Hadoop官网建议使用webhdfs 的方式来进行拷贝,对于相同版本 =true,将元数据的表目录下所有的文件和数据拷贝到目标CDP集群的内部hive 表目录下,-m 表示使用的Map 数量,本文不对distcp 做更详细的说明,详情以及distcp更多的命令见: https ://hadoop.apache.org/docs/stable/hadoop-distcp/DistCp.html hadoop distcp -D ipc.client.fallback-to-simple-auth-allowed 即使在测试的时候,使用8020 端口成功的完成了distcp 命令,但在跨hadoop 大版本的情况下仍建议使用webhdfs 来满足更好的兼容性 ? 3.文档总结 通过distcp 的方式来进行Hive 的表数据迁移,虽然相对来说较为麻烦,但是却拥有极好的兼容性,同样在CDH 5到CDP 中也可以使用这种方式。

    1.2K30发布于 2021-07-05
  • 来自专栏大数据-BigData

    HDFS EC 在知乎的应用

    工具来拷贝文件,而按照文件粒度 EC 不再适合使用 distcp,因为每个文件一个 distcp 任务对 Yarn 的压力太大,因此需要另外开发文件重写工具。 最后我们选择了按照目录粒度来做 EC,因为我们想直接用 distcp 工具拷贝文件,并且不想引入额外的复杂度。 3. EC 策略产出的目录列表,自动提交 distcp 任务到 Yarn 拷贝数据为 EC 编码格式,拷贝完成后替换原目录; (2)用户伪装:能够以目录的 owner 提交对应的 distcp 任务; (3) 并发控制:能够精确控制同时运行的 distcp 任务数量,以及每一个 distcp 任务运行的 map 数; (4)自动容错:在 distcp 失败或者替换目录失败时,保证原始目录不丢失; (5)监控报警 利用 distcp 转存 EC 文件需要注意以下几点: (1)因为文件转存 EC 编码后,block 将会发生变化,所以在进行拷贝的时候需要将 CRC 校验关闭,否则将会导致 distcp 任务失败;

    1.6K20编辑于 2023-02-21
  • 来自专栏大数据文摘

    Hadoop如何通过IT审计(下)?

    使用Hadoop DistCp复制。所谓的DistCp(分布式复制)是土生土长的Hadoop功能,可用于从一个Hadoop集群复制数据到另一个,而无视是在本地或是在城域网/广域网的距离上进行。 默认情况下,DistCp流程会跳过那些已经存在的目标文件和那些当DistCp作业运行时正在被写入目标的文件。只有这些被跳过文件的计数会在每个DistCp任务完成后报告给管理员。 因此,管理员必须人工运行一系列的DistCp任务来收集和复制文件更新并交叉核对目标文件和源文件以判定拷贝是否成功。 其他一些源文件和目标文件的难以察觉的不匹配也由于DistCp并不涉及到文件内容而发生。DistCp仅根据文件名和大小来决定复制与否。 如果文件名和大小都匹配,它并不考虑文件内容是否不同(举例来说,一个DistCp之前的任务被后续更新)。DistCp将不通过远程只读镜像来复制此类文件。

    89770发布于 2018-05-21
  • 来自专栏大数据平台TBDS

    TBDS大数据集群迁移实践总结

    HDFS数据迁移一般使用Hadoop自带批量传输工具distcp,该工具通过MapReduce方式以并行方式完成数据的传输,并支持流控、断点续传(-update)、校验等功能,不过distcp的使用前提是需要两个集群的所有节点网络都能互通 这次迁移的老集群在客户自有机房,新集群部署在腾讯云CVM上,属于腾讯云的机房,两套集群均只有私有网络不能互通,无法直接使用distcp工具迁移。 我们在内部调研得知腾讯云有提供数据迁移工具CDM(可以理解为一个容量非常大的移动硬盘),经过和客户及CDM侧讨论,决定采用腾讯云CDM+COS+distcp方案迁移HDFS数据,采用此方案的原因有以下几点 (2)TBDS平台与COS有打通,通过在TBDS上进行配置后,可直接使用distcp工具将COS的数据迁移到TBDS平台的HDFS上。 工具将COS数据迁移到TBDS新集群 Hadoop distcp -i -m 100 cosn://cos-test-xxx/apps/hive /apps/ ....

    4.5K70发布于 2018-12-13
  • 来自专栏腾讯云大数据与AI专家服务

    hbase迁移EMR实践

    distcp操作如果有xx 节点无法连接xx节点的异常,说明没有连通,需要继续设置。 方式:通过distcp命令同步集群数据     hadoop distcp -pbug -m xx  源集群   目标集群(hdfs路径为hive表的location位置)     迁移整体速度受集群间带宽 如果有acl规则要同步,distcp参数要加-p同步权限参数。如果distcp操作提示xx集群不支持acl,说明对应集群没配置。新集群没配置可以修改配置并重启NM。

    1.3K60发布于 2020-12-31
领券