Yesha Vora created YARN-8465:
--------------------------------
Summary: Dshell docker container gets marked as lost after NM
restart
Key: YARN-8465
URL: https://issues.apache.org/jira/browse/YARN-8465
Project: Hadoop YARN
Issue Type: Bug
Components: yarn-native-services
Affects Versions: 3.1.1
Reporter: Yesha Vora
scenario:
1) launch dshell application
{code}
yarn jar
/usr/hdp/current/hadoop-yarn-client/hadoop-yarn-applications-distributedshell.jar
-shell_command "sleep 500" -num_containers 2 -shell_env
YARN_CONTAINER_RUNTIME_TYPE=docker -shell_env
YARN_CONTAINER_RUNTIME_DOCKER_IMAGE=xx/httpd:0.1 -jar
/usr/hdp/current/hadoop-yarn-client/hadoop-yarn-applications-distributedshell.jar{code}
2) wait for app to be in stable state (
container_e01_1529968198450_0001_01_000002 is running on host7 and
container_e01_1529968198450_0001_01_000003 is running on host5)
3) restart NM (host7)
Here, dshell application fails with below error
{code}18/06/25 23:35:30 INFO distributedshell.Client: Got application report
from ASM for, appId=1, clientToAMToken=Token { kind: YARN_CLIENT_TOKEN,
service: }, appDiagnostics=, appMasterHost=host9/xxx, appQueue=default,
appMasterRpcPort=-1, appStartTime=1529969211776, yarnAppState=RUNNING,
distributedFinalState=UNDEFINED,
appTrackingUrl=https://host4:8090/proxy/application_1529968198450_0001/,
appUser=hbase
18/06/25 23:35:31 INFO distributedshell.Client: Got application report from ASM
for, appId=1, clientToAMToken=null, appDiagnostics=Application Failure: desired
= 2, completed = 2, allocated = 2, failed = 1, diagnostics = [2018-06-25
23:35:28.000]Container exited with a non-zero exit code 154
[2018-06-25 23:35:28.001]Container exited with a non-zero exit code 154
, appMasterHost=host9/xxx, appQueue=default, appMasterRpcPort=-1,
appStartTime=1529969211776, yarnAppState=FINISHED,
distributedFinalState=FAILED,
appTrackingUrl=https://host4:8090/proxy/application_1529968198450_0001/,
appUser=hbase
18/06/25 23:35:31 INFO distributedshell.Client: Application did finished
unsuccessfully. YarnState=FINISHED, DSFinalStatus=FAILED. Breaking monitoring
loop
18/06/25 23:35:31 ERROR distributedshell.Client: Application failed to complete
successfully{code}
Here, the docker container marked as LOST after completion
{code}
2018-06-25 23:35:27,970 WARN runtime.DockerLinuxContainerRuntime
(DockerLinuxContainerRuntime.java:signalContainer(1034)) - Signal docker
container failed. Exception:
org.apache.hadoop.yarn.server.nodemanager.containermanager.runtime.ContainerExecutionException:
Liveliness check failed for PID: 423695. Container may have already completed.
at
org.apache.hadoop.yarn.server.nodemanager.containermanager.linux.runtime.DockerLinuxContainerRuntime.executeLivelinessCheck(DockerLinuxContainerRuntime.java:1208)
at
org.apache.hadoop.yarn.server.nodemanager.containermanager.linux.runtime.DockerLinuxContainerRuntime.signalContainer(DockerLinuxContainerRuntime.java:1026)
at
org.apache.hadoop.yarn.server.nodemanager.containermanager.linux.runtime.DelegatingLinuxContainerRuntime.signalContainer(DelegatingLinuxContainerRuntime.java:159)
at
org.apache.hadoop.yarn.server.nodemanager.LinuxContainerExecutor.signalContainer(LinuxContainerExecutor.java:755)
at
org.apache.hadoop.yarn.server.nodemanager.LinuxContainerExecutor.isContainerAlive(LinuxContainerExecutor.java:905)
at
org.apache.hadoop.yarn.server.nodemanager.ContainerExecutor.reacquireContainer(ContainerExecutor.java:284)
at
org.apache.hadoop.yarn.server.nodemanager.LinuxContainerExecutor.reacquireContainer(LinuxContainerExecutor.java:721)
at
org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.RecoveredContainerLaunch.call(RecoveredContainerLaunch.java:84)
at
org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.RecoveredContainerLaunch.call(RecoveredContainerLaunch.java:47)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
2018-06-25 23:35:27,975 WARN nodemanager.LinuxContainerExecutor
(LinuxContainerExecutor.java:signalContainer(762)) - Error in signalling
container 423695 with NULL; exit = -1
org.apache.hadoop.yarn.server.nodemanager.containermanager.runtime.ContainerExecutionException:
Signal docker container failed
at
org.apache.hadoop.yarn.server.nodemanager.containermanager.linux.runtime.DockerLinuxContainerRuntime.signalContainer(DockerLinuxContainerRuntime.java:1036)
at
org.apache.hadoop.yarn.server.nodemanager.containermanager.linux.runtime.DelegatingLinuxContainerRuntime.signalContainer(DelegatingLinuxContainerRuntime.java:159)
at
org.apache.hadoop.yarn.server.nodemanager.LinuxContainerExecutor.signalContainer(LinuxContainerExecutor.java:755)
at
org.apache.hadoop.yarn.server.nodemanager.LinuxContainerExecutor.isContainerAlive(LinuxContainerExecutor.java:905)
at
org.apache.hadoop.yarn.server.nodemanager.ContainerExecutor.reacquireContainer(ContainerExecutor.java:284)
at
org.apache.hadoop.yarn.server.nodemanager.LinuxContainerExecutor.reacquireContainer(LinuxContainerExecutor.java:721)
at
org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.RecoveredContainerLaunch.call(RecoveredContainerLaunch.java:84)
at
org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.RecoveredContainerLaunch.call(RecoveredContainerLaunch.java:47)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748){code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]