我想将数据从一个群集复制到另一个群集。我用这个命令
hadoop distcp hdfs://SOURCE-NAMENODE:9000/dir/ \ hdfs://DESTINATION-NAMENODE:9000/
我收到了这条消息:
18/04/11 12:05:37 INFO mapred.CopyMapper:正在复制 HDFS://源名称节点:9000 / SOURCE-名称节点/瓦兹/ XXXX,18560,1523039740289 / XXXX%2C18560%2C1523039740289.default.1523445499108 至 HDFS://目的地名称节点:9000 / SOURCE-名称节点/瓦兹/ XXXX,18560,1523039740289 / XXXX%2C18560%2C1523039740289.default.1523445499108 18/04/11 12:05:37 INFO mapred.RetriableFileCopyCommand:创建临时文件 文件: HDFS://目的地的NameNode:9000 / .distcp.tmp.attempt_local2084770019_0001_m_000000_0 18/04/11 12:05:38 ERROR util.RetriableCommand:Retriable失败 命令:复制 HDFS://源名称节点:9000 / SOURCE-名称节点/瓦兹/ XXXX,18560,1523039740289 / XXXX%2C18560%2C1523039740289.default.1523445499108 至 HDFS://目的地名称节点:9000 / SOURCE-名称节点/瓦兹/ XXXX,18560,1523039740289 / XXXX%2C18560%2C1523039740289.default.1523445499108 java.io.IOException:长度不匹配 源:HDFS://源名称节点:9000 / SOURCE-名称节点/瓦兹/ XXXX,18560,1523039740289 / XXXX%2C18560%2C1523039740289.default.1523445499108 和 目标:HDFS://目的地名称节点:9000 / .distcp.tmp.attempt_local2084770019_0001_m_000000_0 在org.apache.hadoop.tools.mapred.RetriableFileCopyCommand.compareFileLengths(RetriableFileCopyCommand.java:193)......
在目的地我只看到创建的目录而没有文件。
有什么想法吗?
答案 0 :(得分:1)
这可能是因为您正在复制正在写入的文件。