问题标签 [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 - 带有通配符或变量(glob)的 distcp 目录的设计模式
我知道 distcp 不能使用通配符。但是,我需要在更改目录时安排 distcp。(即在星期一等只复制“星期五”目录中的数据),也可以从指定目录下的所有项目中复制数据。
是否有某种设计模式可以编写此类脚本?
简而言之,我希望能够做到:
hadoop - 方案没有文件系统:sftp
我正在尝试在 hadoop 中使用 sftp 和 distcp,如下所示
但我收到以下错误
任何人都可以提出问题的原因。
hadoop - 配置单元表导出到其他 hadoop 集群或集群 + distcp 中的配置单元导出?
我想将配置单元表从一个 Hadoop 集群 A 导出到另一个 B。
我有两种方法:
第一的:
导出到 A 的 hdfs(同一个集群)
distcp到集群 B 的 hdfs(不同的集群)
- 导入集群 B 的配置单元
第二:
- 导出到 B 的 hdfs(不同的集群)
- 导入集群 B 的配置单元
distcp 是否增加了额外的优势?
hadoop - 如何告诉 distcp 忽略“找不到文件......”并进入下一个文件?
我们有一个完整的 HDFS 备份使用distcp
需要很长时间才能运行,HDFS 上的一些数据正在“移动”,即它被创建和删除。这导致映射器失败java.io.FileNotFoundException: No such file or directory
。这些文件并不重要,我们只希望备份能做到最好。
现在看来,-i
“忽略失败”并不是我们想要的,因为它会在映射级别而不是文件级别忽略,也就是说,如果映射任务失败,与该映射任务关联的所有文件都将被忽略。我们想要的只是该文件被忽略。
amazon-web-services - distcp:如果hdfs中只有一个文件到s3复制,如何避免展平目录
目前我的hdfs结构是:
/数据/xxx/xxx/2014
/数据/xxx/xxx/2015
/数据/xxx/xxx/2016
2015 年以下两个文件,2016 年以下两个文件,2014 年只有一个文件
我使用此命令分别复制它们:
hadoop distcp -Dfs.s3n.awsAccessKeyId="mykey" -Dfs.s3n.awsSecretAccessKey="mysecret" /data/xxx/xxx/2014* s3n://bucket/emr/xxx/xxx/year=2014/
不知何故,它似乎是
上一年度=2015/
上一年度=2016/
44324255 年=2014
2014 年的文件不存储在 s3 文件夹中,而是作为单独的文件存储。(这种情况不会发生在 2015 年和 2016 年,因为有多个文件)
有没有办法让它存储为 PRE year=2014/ ???
我不希望这个 cmd 使目录层次结构变平。
hadoop - 维护两个hadoop集群的最佳方法
我可以获得从数据库传输数据的优缺点吗
- 一次连接到两个单独的 hdfs 集群
- 到一个 hdfs 集群,然后使用 distcp 将数据移动到第二个集群
hadoop - Hadoop distcp 临时文件夹
hadoop distcp 在从 HDFS 复制到 Amazon S3a 时是否在 HDFS 上创建 tmporary 文件夹?
当我们想将 1Tb 数据从 HDFS 复制到 S3a 时,我们是否需要在 HDFS 上增加 1Tb 可用空间?
谢谢。
hadoop - 执行 distcp 时的映射器数量
如何设置映射器的数量来做 distcp 工作?我知道我们可以通过 Hadoop 设置最大映射器数量distcp -m
。但是是否可以设置数量而不是映射器的最大数量?
谢谢
hadoop - hadoop distcp 异常无法重命名 tmp 文件
我正在尝试使用 distcp 命令将数据从一个 cdh(CDH4.7.1) 集群移动到另一个 cdh(cdh5.4.1) 集群,如下所示:
使用此命令,目录和子目录从源集群 cdh4 复制到目标集群 cdh5,但源集群中的文件没有被复制到目标集群,失败并出现以下错误:
无法将 tmp 文件 (=webhdfs://10.10.200.221:50070/user/admin/testdir/_distcp_tmp_g79i9w/distcptest1/account.xlsx) 重命名为目标文件 (=webhdfs://10.10.200.221:50070/user/admin/ testdir/distcptest1/account.xlsx)
在该作业的日志中找到的堆栈跟踪如下:
即使在使用此命令后也出现上述错误:
两个集群中都启用了 WebHDFS。
关于 distcp 命令的执行,我是从我的源集群 cdh4 执行的,用户为“admin”,并且可以根据下面给出的 cloudera 链接执行此操作:
当我从源集群监视目标集群文件时,没有将目标集群文件写入目标集群中由 distcp 创建的临时文件夹。这就是目标集群中重命名失败的原因,因为目标路径不包含该文件。有人可以告诉为什么文件写作失败?
我在stackoverflow上搜索了相关帖子并尝试了这些解决方案,但没有一个解决不了这个问题。任何解决这个问题的想法都会有很大帮助。
hadoop - 了解 htfp url 和 hdfs 路径之间的区别
这种差异在周末出现在我身上,当时我试图hftp
通过做
hftp
网址类似于hftp://node:50070/more/path
在某些文件上,它中途失败了。日志说
未处理的内部错误。顶点失败,vertexName=scope-152 ...
我手动检查了这些文件,没有发现任何可疑之处。我还尝试了以下愚蠢的Pig
脚本,看看它是否会让我感到惊讶
, 消息惨遭失败
“...由于 VERTEX_FAILURE,DAG 未成功”
现在怎么样
hdfs-path
像hdfs://namenode:8020/more/path
. _
它工作得很好。什么?为什么?
非常感谢提前。
============================================
为了回应@rahulbmv的回答,我确实尝试过
中途也失败了,我可以看到dst
HDFS 上的一些传输文件,其他文件丢失。所以我认为这无关紧要。我提到的参考是http://www.cloudera.com/documentation/archive/cdh/4-x/4-7-1/CDH4-Installation-Guide/cdh4ig_topic_7_2.html。
我也尝试登录到dst
namenode服务器并做
发生了同样的错误。
但是,是的,写端口应该使用hdfs
协议。通过使用hdfs
协议,错误仍然存在。在@rahulbmv 指出之后,唯一的区别实际上是读者使用的协议。今天晚些时候我会回去挖掘错误消息。