Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.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
Java 丢失节点上的Hadoop容器清理超时_Java_Hadoop_Mapreduce_Yarn - Fatal编程技术网

Java 丢失节点上的Hadoop容器清理超时

Java 丢失节点上的Hadoop容器清理超时,java,hadoop,mapreduce,yarn,Java,Hadoop,Mapreduce,Yarn,我正在处理多节点集群,其中四个从属节点命名为slave01、slave02、slave03和slave04,一个主节点命名为master 当我在映射任务期间拔出网络电缆时,hadoop会等待状态更新100秒(由于属性值为100000) 在此之后,我可以看到maptask失败,hadoop启动容器清理,这需要10分钟以上的时间,而且它也不会在任何地方调度失败的任务。我得到的错误是,从应用程序主节点到丢失节点的主机异常无路由。之后,任务在另一个节点上调度 我想减少尝试容器清理的时间,这样就可以在任何

我正在处理多节点集群,其中四个从属节点命名为slave01、slave02、slave03和slave04,一个主节点命名为master

当我在映射任务期间拔出网络电缆时,hadoop会等待状态更新100秒(由于属性值为100000)

在此之后,我可以看到maptask失败,hadoop启动容器清理,这需要10分钟以上的时间,而且它也不会在任何地方调度失败的任务。我得到的错误是,从应用程序主节点到丢失节点的主机异常无路由。之后,任务在另一个节点上调度

我想减少尝试容器清理的时间,这样就可以在任何节点上的maptask超时后安排任务

请帮助我如何通过设置配置来做到这一点

我正在附加应用程序主日志,在映射任务期间我已在其中删除slave01,在这种情况下,reduce任务运行的编号为1


AttemptID:在丢失节点上释放容器100秒后,容器容器的尝试_146320158428_0004_m_000002_0超时清理失败_1463201; 146320158428_0004_01_000004:java.net.NoRouteToHostException:从Slave2/172.31.132.107到slave01:58838的主机路由失败套接字超时异常:java.net.NoRouteToHostException:否到宿主的路径;有关更多详细信息,请参阅:位于sun.reflect.GeneratedConstructorAccessor51.newInstance(未知源代码)的sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)的java.lang.reflect.Constructor.newInstance(Constructor.java:422)的org.apache.hadoop.net.NetUtils.wrapWithMessage(NetUtils.java:791)org.apache.hadoop.net.NetUtils.wrapException(NetUtils.java:757)org.apache.hadoop.ipc.Client.call(Client.java:1473)org.apache.hadoop.ipc.Client.call(Client.java:1400)org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.Invoker(protobufrpceengine.java:232)com.sun.Proxy37.stopccontainers(未知源)在sun.reflect.GeneratedMethodAccessor18.invoke(未知源)在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)在java.lang.reflect.invoke在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)在org.apache.hadoop.Thread.api.impl.api.impl.client.ContainerManagementProtocolpClientImpl(Method.java:497)在org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:187)在org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:102)在com.sun.proxy.$Proxy38.stopContainers(未知源)位于org.apache.hadoop.mapreduce.v2.app.launcher.ContainerLauncherImpl$Container.kill(ContainerLauncherImpl.java:206),位于org.apache.hadoop.mapreduce.v2.app.launcher.launcher$EventProcessor.run(ContainerLauncherImpl.java:373),位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)在java.lang.Thread.run(Thread.java:745)处的java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)处,由于以下原因导致:java.net.NoRouteToHostException:在sun.nio.ch.SocketChannelImpl.checkConnect(本机方法)处没有到sun.nio.ch.socketchannelmpl.finishConnect(socketchannelmpl.java:717)主机的路由org.apache.hadoop.net.SocketIOWithTimeout.connect(SocketIOWithTimeout.java:206)org.apache.hadoop.net.NetUtils.connect(NetUtils.java:530)org.apache.hadoop.net.NetUtils.connect(NetUtils.java:494)org.apache.hadoop.ipc.Client$Connection.setupConnection(Client.java:608)org.apache.hadoop.ipc.Client$Connection.setupIOstreams(Client.java:706)在org.apache.hadoop.ipc.Client$Connection.access$2800(Client.java:369)在org.apache.hadoop.ipc.Client.getConnection(Client.java:1522)在org.apache.hadoop.ipc.Client.call(Client.java:1439)这是因为hadoop 2.6.3中的一个错误,其中连接重试在两个级别ipc上完成,而yarn尝试使用2.6.4或下载补丁将得到解决。

这是因为hadoop 2.6.3中的一个错误,其中连接重试在两个级别ipc上完成,yarn尝试使用2.6.4或下载补丁将得到解决解决了