我的 Yarn 应用程序出现故障,找不到问题。即使日志聚合已激活(yarn.log-aggregation-enable
设置为 true
),我也无法看到它们:
$HADOOP_INSTALL/bin/yarn logs -applicationId application_1426155045075_0001
15/06/15 14:50:16 INFO client.RMProxy: Connecting to ResourceManager at /0.0.0.0:8032
15/06/15 14:50:16 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Logs not available at /tmp/logs/hadoop/logs/application_1426155045075_0001
Log aggregation has not completed or is not enabled.
历史记录服务器已启动并正在运行:
$ jps
1926 DataNode
2022 ResourceManager
3982 JobHistoryServer
4320 Jps
1843 NameNode
2272 NodeManager
以下是应用程序Diagnostics
信息:
Application application_1426155045075_0001 failed 2 times due to Error launching appattempt_1426155045075_0001_000002. Got exception: java.net.ConnectException: Call From hadoop-server/192.168.2.72 to hadoop-server:49941 failed on connection exception: java.net.ConnectException: Connection refused; For more details see: http://wiki.apache.org/hadoop/ConnectionRefused
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at org.apache.hadoop.net.NetUtils.wrapWithMessage(NetUtils.java:783)
at org.apache.hadoop.net.NetUtils.wrapException(NetUtils.java:730)
at org.apache.hadoop.ipc.Client.call(Client.java:1415)
at org.apache.hadoop.ipc.Client.call(Client.java:1364)
at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:206)
at com.sun.proxy.$Proxy77.startContainers(Unknown Source)
at org.apache.hadoop.yarn.api.impl.pb.client.ContainerManagementProtocolPBClientImpl.startContainers(ContainerManagementProtocolPBClientImpl.java:96)
at org.apache.hadoop.yarn.server.resourcemanager.amlauncher.AMLauncher.launch(AMLauncher.java:118)
at org.apache.hadoop.yarn.server.resourcemanager.amlauncher.AMLauncher.run(AMLauncher.java:249)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.net.ConnectException: Connection refused
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:739)
at org.apache.hadoop.net.SocketIOWithTimeout.connect(SocketIOWithTimeout.java:206)
at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:529)
at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:493)
at org.apache.hadoop.ipc.Client$Connection.setupConnection(Client.java:606)
at org.apache.hadoop.ipc.Client$Connection.setupIOstreams(Client.java:700)
at org.apache.hadoop.ipc.Client$Connection.access$2800(Client.java:367)
at org.apache.hadoop.ipc.Client.getConnection(Client.java:1463)
at org.apache.hadoop.ipc.Client.call(Client.java:1382)
... 9 more
. Failing the application.
这听起来像是与容器管理器相关的问题。端口49941
是否特定于此(或其他)服务?
挖掘后,我发现问题是由于 NodeManager 运行状况不佳(我在健康报告中看到了local-dirs turned bad
)。为了解决这个问题,我不得不关闭 Yarn 并重新启动所有服务。