No, the “nice” is internal to Hadoop, apparently to make sure that the Hadoop infrastructure processes can’t be starved by the applications. Actually we figured out what was going on. There was a very large environment variable being set for the AM, and it exceeded the 132KB or so allowed for the total command-line-argument + environment space.
Cheers, John From: Azuryy [mailto:[email protected]] Sent: Wednesday, March 26, 2014 5:13 PM To: [email protected] Subject: Re: Getting error message from AM container launch You used 'nice' in your app? Sent from my iPhone5s On 2014年3月27日, at 6:55, John Lilley <[email protected]<mailto:[email protected]>> wrote: On further examination they appear to be 369 characters long. I’ve read about similar issues showing when the environment exceeds 132KB, but we aren’t putting anything significant in the environment. John From: John Lilley [mailto:[email protected]] Sent: Wednesday, March 26, 2014 4:41 PM To: [email protected]<mailto:[email protected]> Subject: RE: Getting error message from AM container launch We do have a fairly long container command-line. Not huge, around 200 characters. John From: John Lilley [mailto:[email protected]] Sent: Wednesday, March 26, 2014 4:38 PM To: [email protected]<mailto:[email protected]> Subject: Getting error message from AM container launch Running a non-MapReduce YARN application, one of the containers launched by the AM is failing with an error message I’ve never seen. Any ideas? I’m not sure who exactly is running “nice” or why its argument list would be too long. Thanks john Container for appattempt_1395755163053_0030_000001 exited with exitCode: 0 due to: Exception from container-launch: java.io.IOException: Cannot run program ""nice"" (in directory ""/ephemeral02/hadoop/yarn/local/usercache/SYSTEM/appcache/application_1395755163053_0030/container_1395755163053_0030_01_000001""): java.io.IOException: error=7, Argument list too long at java.lang.ProcessBuilder.start(ProcessBuilder.java:460) at org.apache.hadoop.util.Shell.runCommand(Shell.java:407) at org.apache.hadoop.util.Shell.run(Shell.java:379) at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:589) at org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor.launchContainer(DefaultContainerExecutor.java:195) at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:283) at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:79) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) Caused by: java.io.IOException: java.io.IOException: error=7, Argument list too long at java.lang.UNIXProcess.<init>(UNIXProcess.java:148) at java.lang.ProcessImpl.start(ProcessImpl.java:65) at java.lang.ProcessBuilder.start(ProcessBuilder.java:453) ... 11 more
