【发布时间】:2016-09-10 16:44:52
【问题描述】:
我正在开发多节点集群,其中四个从节点分别命名为 slave01、slave02、slave03 和 slave04,一个主节点作为主节点
当我在地图任务期间拔掉网线时,hadoop 等待状态更新 100 秒(由于其值为 100000 的属性)
之后,我可以看到 maptask 失败并且 hadoop 启动容器清理需要 10 多分钟,并且它也没有在任何地方安排失败的任务。我收到从应用程序主机到丢失节点的没有路由到主机异常的错误.之后哪个任务在另一个节点上得到调度。
我想减少尝试清理容器的时间,以便可以在任何节点上的 maptask 超时后立即安排任务。
请帮助我如何通过设置配置来做到这一点。
我正在附加应用程序主日志,其中我在映射任务期间删除了 slave01,在这种情况下,运行的 reduce 任务为 1。
AttemptID:attempt_1463201584280_0004_m_000002_0 Timed out after 100 secs Container release on a lost node cleanup failed for container_1463201584280_0004_01_000004 : java.net.NoRouteToHostException: No Route to Host from slave02/172.套接字超时异常失败:java.net.NoRouteToHostException:没有到主机的路由;有关详细信息,请参阅:http://wiki.apache.org/hadoop/NoRouteToHost at sun.reflect.GeneratedConstructorAccessor51.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at 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) at org.apache.hadoop.ipc.Client.call(Client.java:1400) at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:232) at com.sun.proxy.$Proxy37.stopContainers(Unknown Source) at org.apache.hadoop.yarn.api.impl.pb.client.ContainerManagementProtocolPBClientImpl.stopContainers(ContainerManagementProtocolPBClientImpl.java:110) at sun.reflect.GeneratedMethodAccessor18.invoke(未知来源)在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.i nvoke(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(Unknown Source) 在 org.apache.hadoop.mapreduce.v2.app.launcher.ContainerLauncherImpl$Container.kill(ContainerLauncherImpl.java:206) 在 org.apache.hadoop.mapreduce .v2.app.launcher.ContainerLauncherImpl$EventProcessor.run(ContainerLauncherImpl.java:373) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor .java:617) at java.lang.Thread.run(Thread.java:745) 原因:java.net.NoRouteToHostException:没有路由到 sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) 在 sun 的主机。 nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717) 在 org.apache.hadoop.net.SocketIOWithTimeout.connect(SocketIOWithTimeout.java:206) 在 org. org.apache.hadoop.net.NetUtils.connect(NetUtils.java:494) 上的 apache.hadoop.net.NetUtils.connect(NetUtils.java:530) 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) ... 还有 15 个
【问题讨论】:
标签: java hadoop mapreduce hadoop-yarn