Spark shell无法连接到YARN

时间:2015-02-23 10:05:44

标签: hadoop apache-spark yarn

我尝试使用:

启动spark-shell
spark-shell --master yarn-client

然后我进入了外壳。但几秒钟后,我在shell中得到了这个:

 WARN ReliableDeliverySupervisor: Association with remote system [akka.tcp://sparkYarnAM@10.0.2.15:38171] has failed, address is now gated for [5000] ms. Reason is: [Disassociated].

我在纱线日志文件中多次重复此错误。

  

15/02/23 20:37:26 INFO yarn.YarnAllocationHandler:已完成的容器   container_1424684000430_0001_02_000002(状态:COMPLETE,退出状态:   1)15/02/23 20:37:26 INFO yarn.YarnAllocationHandler:容器标记   失败:container_1424684000430_0001_02_000002。退出状态:1。   诊断:容器启动的例外情况。容器ID:   container_1424684000430_0001_02_000002退出代码:1堆栈跟踪:   ExitCodeException exitCode = 1:at   org.apache.hadoop.util.Shell.runCommand(Shell.java:538)at   org.apache.hadoop.util.Shell.run(Shell.java:455)at   org.apache.hadoop.util.Shell $ ShellCommandExecutor.execute(Shell.java:715)     在   org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor.launchContainer(DefaultContainerExecutor.java:211)     在   org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:302)     在   org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:82)     在java.util.concurrent.FutureTask.run(FutureTask.java:262)at   java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)     在   java.util.concurrent.ThreadPoolExecutor中的$ Worker.run(ThreadPoolExecutor.java:615)     在java.lang.Thread.run(Thread.java:745)

     

使用非零退出代码1退出的容器

我也注意到这一行:

15/02/23 21:00:20 INFO yarn.ExecutorRunnable: Setting up executor with commands: List($JAVA_HOME/bin/java, -server, -XX:OnOutOfMemoryError='kill %p', -Xms1024m -Xmx1024m , -Djava.io.tmpdir=$PWD/tmp, '-Dspark.driver.port=33837', -Dspark.yarn.app.container.log.dir=<LOG_DIR>, org.apache.spark.executor.CoarseGrainedExecutorBackend, akka.tcp://sparkDriver@10.0.2.15:33837/user/CoarseGrainedScheduler, 4, vbox-lubuntu, 1, application_1424684000430_0003, 1>, <LOG_DIR>/stdout, 2>, <LOG_DIR>/stderr)

奇怪的部分是 -Dspark.yarn.app.container.log.dir = 。看起来变量没有得到扩展。但我想我已经定义了它。

P.S。 spark-submit似乎正在运作:

spark-submit --class org.apache.spark.examples.SparkPi --master yarn-cluster /path/to/lib/spark-examples-1.2.1-hadoop2.4.0.jar

1 个答案:

答案 0 :(得分:1)

基于this线程中的讨论,问题是由容器中的OOM引起的。唯一的解决方案是提高系统内存......

错误消息确实错过了。