Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hadoop distcp作业成功,但尝试被ApplicationMaster终止_Hadoop_Yarn_Distcp - Fatal编程技术网

Hadoop distcp作业成功,但尝试被ApplicationMaster终止

Hadoop distcp作业成功,但尝试被ApplicationMaster终止,hadoop,yarn,distcp,Hadoop,Yarn,Distcp,运行distcp作业时,我遇到以下问题: 几乎所有的映射任务都被标记为成功,但有一条注释说容器已被杀死 在联机界面上,地图作业的日志显示: 进度100.00 国家成功了 但根据记录,几乎每一次尝试(约200次) 容器被应用程序管理员杀死。 容器被应用程序管理员杀死。集装箱在要求时被杀死。出口代码是143 在与尝试相关联的日志文件中,我可以看到一个日志,上面写着任务“尝试\uxxxxxxxx\u 0”已完成 所有作业/尝试的stderr输出均为空 在查看应用程序主日志并进行一次成功(但被终止)尝试

运行distcp作业时,我遇到以下问题: 几乎所有的映射任务都被标记为成功,但有一条注释说容器已被杀死

在联机界面上,地图作业的日志显示: 进度100.00 国家成功了

但根据记录,几乎每一次尝试(约200次) 容器被应用程序管理员杀死。 容器被应用程序管理员杀死。集装箱在要求时被杀死。出口代码是143

在与尝试相关联的日志文件中,我可以看到一个日志,上面写着任务“尝试\uxxxxxxxx\u 0”已完成

所有作业/尝试的stderr输出均为空

在查看应用程序主日志并进行一次成功(但被终止)尝试后,我发现以下日志:

2017-01-05 10:27:22,772 INFO [AsyncDispatcher event handler] org.apache.hadoop.mapreduce.v2.app.job.impl.TaskImpl: Task succeeded with attempt attempt_1483370705805_4012_m_000000_0
2017-01-05 10:27:22,773 INFO [AsyncDispatcher event handler] org.apache.hadoop.mapreduce.v2.app.job.impl.TaskImpl: task_1483370705805_4012_m_000000 Task Transitioned from RUNNING to SUCCEEDED
2017-01-05 10:27:22,775 INFO [AsyncDispatcher event handler] org.apache.hadoop.mapreduce.v2.app.job.impl.JobImpl: Num completed Tasks: 1
2017-01-05 10:27:22,775 INFO [AsyncDispatcher event handler] org.apache.hadoop.mapreduce.v2.app.job.impl.JobImpl: job_1483370705805_4012Job Transitioned from RUNNING to COMMITTING
2017-01-05 10:27:22,776 INFO [CommitterEvent Processor #1] org.apache.hadoop.mapreduce.v2.app.commit.CommitterEventHandler: Processing the event EventType: JOB_COMMIT
2017-01-05 10:27:23,118 INFO [RMCommunicator Allocator] org.apache.hadoop.mapreduce.v2.app.rm.RMContainerAllocator: Before Scheduling: PendingReds:0 ScheduledMaps:0 ScheduledReds:0 AssignedMaps:1 AssignedReds:0 CompletedMaps:1 CompletedReds:0 ContAlloc:1 ContRel:0 HostLocal:0 RackLocal:0
2017-01-05 10:27:24,125 INFO [RMCommunicator Allocator] org.apache.hadoop.mapreduce.v2.app.rm.RMContainerAllocator: Received completed container container_e116_1483370705805_4012_01_000002
2017-01-05 10:27:24,126 INFO [RMCommunicator Allocator] org.apache.hadoop.mapreduce.v2.app.rm.RMContainerAllocator: After Scheduling: PendingReds:0 ScheduledMaps:0 ScheduledReds:0 AssignedMaps:0 AssignedReds:0 CompletedMaps:1 CompletedReds:0 ContAlloc:1 ContRel:0 HostLocal:0 RackLocal:0
2017-01-05 10:27:24,126 INFO [AsyncDispatcher event handler] org.apache.hadoop.mapreduce.v2.app.job.impl.TaskAttemptImpl: Diagnostics report from attempt_1483370705805_4012_m_000000_0: Container killed by the ApplicationMaster.
Container killed on request. Exit code is 143
Container exited with a non-zero exit code 143
我已经设置了“mapreduce.map.prospective=false”

所有映射任务都成功(distcp作业没有REDUCE),但MAPREDUCE运行了很长时间(几个小时),然后它成功,distcp作业完成。

我正在运行“纱线版本”=Hadoop 2.5.0-cdh5.3.1


我应该为此担心吗?是什么导致容器死亡?如有任何建议,将不胜感激

这些失败的尝试可能是由于推测性执行。在这种情况下,没有什么可担心的

要确保情况属实,请尝试按如下方式运行distcp:

hadoop distcp  -Dmapreduce.map.speculative=false ...

你应该停止看到那些失败的尝试。

我已经设置了“mapreduce.map.投机性=false”。仍然如此。和映射完成,但作业将持续很长时间。我不明白在设置思辨=false之后,您是否仍然看到那些“容器被应用程序管理员杀死”错误?映射阶段完成后,distcp仍需更改权限并比较校验和,因此即使所有映射程序都已完成,作业仍会继续运行也是正常的。感谢您的建议。新条件:当两个NameNode相互转换NNHAstats时,一切正常。地图完成后,工作很快完成。检查此项