0

我正在尝试将数据从 CDH4 复制到 CDH5 集群。当我从 CDH5 提交 distcp 作业时,MR 作业进入接受状态并停留在那里(我已经尝试过多次,它在那里停留了超过 15 小时)。我要复制的数据小于 10MB。

以下是我正在使用的设置和步骤。

来源:CDH4,例如 NodeName = cloudera4 目的地:CDH5,例如 NodeName = Cloudera1

CDH5 上使用的命令:hadoop distcp hftp://Cloudera4:50070/ hdfs://Cloudera1/

下面是控制台输出:

[root@Cloudera1-RD opt]# sudo -u hdfs hadoop distcp hftp://Cloudera4:50070/ hdfs://Cloudera1/

    15/03/05 10:51:23 INFO tools.DistCp: Input Options: DistCpOptions{atomicCommit=false, syncFolder=false, deleteMissing=false, ignoreFailures=false, maxMaps=20, sslConfigurationFile='null', copyStrategy='uniformsize', sourceFileListing=null, sourcePaths=[hftp://Cloudera4:50070/], targetPath=hdfs://Cloudera1/, targetPathExists=true, preserveRawXattrs=false}
    15/03/05 10:51:23 INFO client.RMProxy: Connecting to ResourceManager at Cloudera1:8032
    15/03/05 10:51:27 INFO Configuration.deprecation: io.sort.mb is deprecated. Instead, use mapreduce.task.io.sort.mb
    15/03/05 10:51:27 INFO Configuration.deprecation: io.sort.factor is deprecated. Instead, use mapreduce.task.io.sort.factor
    15/03/05 10:51:28 INFO client.RMProxy: Connecting to ResourceManager at Cloudera1:8032
    15/03/05 10:51:29 INFO mapreduce.JobSubmitter: number of splits:18
    15/03/05 10:51:29 INFO mapreduce.JobSubmitter: Submitting tokens for job: job_1425491750932_0010
    15/03/05 10:51:30 INFO impl.YarnClientImpl: Submitted application application_1425491750932_0010
    15/03/05 10:51:30 INFO mapreduce.Job: The url to track the job: http://Cloudera1:8088/proxy/application_1425491750932_0010/
    15/03/05 10:51:30 INFO tools.DistCp: DistCp job-id: job_1425491750932_0010
    15/03/05 10:51:30 INFO mapreduce.Job: Running job: job_1425491750932_0010

此 MR 作业将永远处于 Accepted 状态。

从现在开始,我一直坚持这一点。我真的很感谢你的帮助。

4

2 回答 2

0

您的代码的问题是不要以hdfs 用户身份运行 distcp ,默认情况下该用户已被列入 MapReduce 作业的黑名单。

参考链接并运行 distcp

于 2020-06-25T19:25:29.010 回答
0

通过使用解决了它: hdfs dfs -cp s3://<path> hdfs:///user/livy/

于 2022-02-23T16:46:58.440 回答