我在运行一些复杂的sql语句的hive上测试spark-sql . 当我的最大工作数太大时,在我的情况下超过70000,应用程序将停留一段时间,然后抛出以下错误消息:

6/07/06 17:53:20 WARN YarnSchedulerBackend $ YarnSchedulerEndpoint:标记为失败的容器:container_1466092136376_0229_01_000002在主机上:10.17.124.127 . 退出状态:1 . 诊断:容器启动时的异常 . 容器ID:container_1466092136376_0229_01_000002退出代码:1堆栈跟踪:ExitCodeException exitCode = 1:at org.apache.hadoop.util.Shell.runCommand(Shell.java:545)at org.apache.hadoop.util.Shell.run(Shell . java:456)org.apache.hadoop.util.Shell $ ShellCommandExecutor.execute(Shell.java:722)org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor.launchContainer(DefaultContainerExecutor.java:211)at org .apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:302)at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java: 82)在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)的java.util.concurrent.FutureTask.run(FutureTask.java:262)java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor) .java:615)在java.lang.Thread.run(Thread.java:745)容器以非零退出代码退出1 16/07/06 17:53:20 WARN NettyRpcEndp ointRef:发送消息时出错[message = RemoveExecutor(1,Container标记为失败:container_1466092136376_0229_01_000002在主机上:10.17.124.127 . 退出状态:1 . 诊断:容器启动时的异常 . 容器ID:container_1466092136376_0229_01_000002退出代码:1堆栈跟踪:ExitCodeException exitCode = 1:at org.apache.hadoop.util.Shell.runCommand(Shell.java:545)at org.apache.hadoop.util.Shell.run(Shell . java:456)org.apache.hadoop.util.Shell $ ShellCommandExecutor.execute(Shell.java:722)org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor.launchContainer(DefaultContainerExecutor.java:211)at org .apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:302)at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java: 82)在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)的java.util.concurrent.FutureTask.run(FutureTask.java:262)java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor) .java:615)at java.lang.Thread.run(Thread.java:745)在1次尝试org.apache.spark.S中,使用非零退出代码1)]退出容器parkException:找不到CoarseGrainedScheduler或它已被停止 . 位于org.apache.spark.rpc上的org.apache.spark.rpc.netty.Dispatcher.postMessage(Dispatcher.scala:161)org.apache.spark.rpc.netty.Dispatcher.postLocalMessage(Dispatcher.scala:126)位于org.apache.spark.rpc的网站上的org.apache.spark.rpc.netty.NettyRpcEndpointRef.ask(NettyRpcEnv.scala:511).netty.NettyRpcEnv.ask(NettyRpcEnv.scala:227).RpcEndpointRef.scala :100)org.apache.spark.rpc.RpcEndpointRef.askWithRetry(RpcEndpointRef.scala:77)位于org.apache.spark的org.apache.spark.scheduler.cluster.CoarseGrainedSchedulerBackend.removeExecutor(CoarseGrainedSchedulerBackend.scala:359) . scheduler.cluster.YarnSchedulerBackend $ YarnSchedulerEndpoint $$ anonfun $ receive $ 1.applyOrElse(YarnSchedulerBackend.scala:176)at org.apache.spark.rpc.netty.Inbox $$ anonfun $ process $ 1.apply $ mcV $ sp(Inbox.scala :116)在org.apache的org.apache.spark.rpc.netty.Inbox.safelyCall(Inbox.scala:204)org.apache.spark.rpc.netty.Inbox.process(Inbox.scala:100) . spark.rpc.netty.Dispatcher $ MessageLoop.run(Dispatche r.scala:215)java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617)at java.lang.Thread.run (Thread.java:745)

如何避免这个问题?