问题标签 [distcp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
hadoop - Hadoop distcp 作业成功但尝试_xxx 被 ApplicationMaster 杀死
运行 distcp 作业我遇到以下问题:几乎所有地图任务都被标记为成功,但附注说 Container 已被杀死。
在在线界面上,地图作业的日志显示:Progress 100.00 State SUCCEEDED
但在 Note 下,它表示几乎每次尝试 (~200) 容器都被 ApplicationMaster 杀死。容器被 ApplicationMaster 杀死。容器应要求被杀死。退出代码是 143
在与尝试关联的日志文件中,我可以看到一条日志显示任务“尝试_xxxxxxxxx_0”已完成。
对于所有作业/尝试,stderr 输出为空。
在查看应用程序主日志并遵循成功(但被杀死)的尝试之一时,我发现以下日志:
我设置了“mapreduce.map.speculative=false”!
所有 MAP 任务都成功了(distcp 作业没有 REDUCE),但是 MAPREDUCE 进行了很长时间(几个小时),然后它成功了,distcp 作业完成了。
我正在运行'纱线版本'= Hadoop 2.5.0-cdh5.3.1
我应该担心这个吗?是什么导致容器被杀死?任何建议将不胜感激!
hadoop - Distcp 源长度不匹配
我在两个不同的hadoop集群之间执行distcp命令时遇到问题,
原因:java.io.IOException:源长度不匹配:hdfs://ip1/xxxxxxxxxx/xxxxxx 和目标:hdfs://nameservice1/xxxxxx/.distcp.tmp.attempt_1483200922993_0056_m_000011_2
我尝试使用 -pb 和 -skipcrccheck:
但似乎没有任何效果。
请提供任何解决方案。
hadoop - 如何通过保留修改时间将 HDFS 文件从一个集群复制到另一个集群
我必须将一些 HDFS 文件从我的生产集群移动到开发集群。在根据文件修改时间移动到开发集群后,我必须测试对 HDFS 文件的一些操作。需要具有不同日期的文件才能在 dev 中对其进行测试。
我尝试使用 DISTCP,修改时间正在更新为当前时间。我使用我在这里找到的许多参数检查了 Distcp distcp version2 guide
有没有其他方法可以在不更改修改时间的情况下获取文件?或者我可以在将文件放入 hdfs 后手动更改修改时间吗?
提前致谢
hadoop - 将文件从不安全的 hdfs 传输到安全的 hdfs 集群
我想将文件从不安全的 HDFS 集群传输到 kerberized 集群。我正在使用 distcp 传输文件。我使用了以下命令。
在 kerberized 集群中执行上述命令后,出现以下错误。
hadoop - Hadoop Distcp 是否在块级别复制?
集群之间/集群内的 Distcp 是 Map-Reduce 作业。我的假设是,它在输入拆分级别复制文件,有助于提高复制性能,因为一个文件将由多个并行处理多个“片段”的映射器复制。但是,当我浏览 Hadoop Distcp 的文档时,似乎 Distcp 只能在文件级别上工作。请参考这里:hadoop.apache.org/docs/current/hadoop-distcp/DistCp.html
根据 distcp doc,distcp 只会拆分文件列表,而不是文件本身,并将列表的分区提供给映射器。
谁能告诉这究竟是如何工作的?
- 附加问题:如果一个文件只分配给一个映射器,映射器如何在它运行的一个节点上找到所有输入拆分?
hadoop - 如何计算hadoop中使用distcp的数据传输速度
我正在使用 distcp 在两个 hadoop 集群之间移动文件。如何检查数据在任意两个集群之间移动的速率?
hadoop - 使用 oozie 工作流程的 s3 服务器端加密
我有一个 sqoop 作业,它将数据写入 s3 存储桶。如果我从命令行运行此作业,它将加密 s3 文件。但是,如果我使用相同的 jar 文件使用 oozie 工作流运行 sqoop 作业,那么它会将数据推送到 s3,但不会发生加密。
下面是我的 oozie 工作流程。
在 jar 中,我们使用 distcp 命令将数据从 hdfs 复制到 s3。
那么如何使用 oozie 工作流对 s3 文件进行服务器端加密呢?
bash - 使用 oozie distcp-action 将文件从 hdfs 目录复制到另一个目录
我的行动
start_fair_usage
以状态正常结束,但test_copy
返回
在/user/comverse/data/${1}_B
我有很多不同的文件,其中一些我想复制到${NAME_NODE}/user/evkuzmin/output
. 为此,我尝试从中传递paths
包含一组copy_files.sh
路径到我需要的文件的路径。
start_fair_usage
开始copy_file.sh
hadoop - Hadoop中的高效复制方法
除了distcp
. 我尝试了常规hadoop fs -cp
以及distcp
两者似乎都提供了相同的传输速率,大约 50 MBPS。
我将 5TB 的数据拆分为每个 500GB 的较小文件,我必须将其复制到 HDFS 上的新位置。有什么想法吗?
编辑:原来distcp
只产生 1 个映射器,所以我添加-m100
了增加映射器的选项
但它仍然只产生 1 个而不是 100 个映射器。我在这里错过了什么吗?