Apache spark 在纱线模式下向spark提交作业时未能连接到spark驱动程序

Apache spark 在纱线模式下向spark提交作业时未能连接到spark驱动程序,apache-spark,yarn,Apache Spark,Yarn,当我向集群提交spark作业时,它失败了,shell中有以下例外: > Exception in thread "main" org.apache.spark.SparkException: > Application application_1497125798633_0065 finished with failed status > at org.apache.spark.deploy.yarn.Client.run(Client.scala:1244)

当我向集群提交spark作业时,它失败了,shell中有以下例外:

> Exception in thread "main" org.apache.spark.SparkException:
> Application application_1497125798633_0065 finished with failed status
>         at org.apache.spark.deploy.yarn.Client.run(Client.scala:1244)
>         at org.apache.spark.deploy.yarn.Client$.main(Client.scala:1290)
>         at org.apache.spark.deploy.yarn.Client.main(Client.scala)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:498)
>         at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:750)
>         at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:187)
>         at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:212)
>         at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:126)
>         at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala) 17/06/29 10:25:36 INFO ShutdownHookManager: Shutdown hook called
这是它在纱线原木中给出的结果:

> Caused by: java.io.IOException: Failed to connect to /0.0.0.0:35994 at
> org.apache.spark.network.client.TransportClientFactory.createClient(TransportClientFactory.java:232)
> at
> org.apache.spark.network.client.TransportClientFactory.createClient(TransportClientFactory.java:182)
> at
> org.apache.spark.rpc.netty.NettyRpcEnv.createClient(NettyRpcEnv.scala:197)
> at org.apache.spark.rpc.netty.Outbox$anon$1.call(Outbox.scala:194) at
> org.apache.spark.rpc.netty.Outbox$anon$1.call(Outbox.scala:190) at
> java.util.concurrent.FutureTask.run(FutureTask.java:266) at
> 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)
我猜这意味着它无法连接到驱动程序。我试图增加“spark.Thread.executor.memoryOverhead”参数,但没有成功

这是我使用的提交命令:

/bin/spark-submit \
  --class example.Hello \
  --jars ... \
  --master yarn \
  --deploy-mode cluster \
  --supervise \
  --conf spark.yarn.driver.memoryOverhead=1024 ...(jar file path)
我使用的是HDP-2.6.1.0和spark 2.1.1,请参见:

Caused by: java.io.IOException: Failed to connect to /0.0.0.0:35994

尝试
spark submit--master:
提交作业。

在纱线模式下运行spark(我正在做的)是在HDP中使用spark的权利,如下所述:

这意味着我不应该指定主控或使用start master/start slave命令

问题是,出于某种原因,驱动程序IP被视为0.0.0.0,所有群集节点都试图使用本地接口联系驱动程序,因此失败。 我通过在conf/spark-defaults.conf中设置以下配置修复了此问题:

火花驱动器端口=20002

spark.driver.host=主机名


并将部署模式更改为客户端,使其在本地部署驱动程序。

是否可以删除
--监视
并重新开始?您能粘贴spark shell的整个输出吗?你能用纱线把原木粘起来吗?使用。我从命令中删除了它,但没有任何更改。我更新了我的问题,让shell错误和纱线日志中的异常扫描您是否将其他行粘贴到异常上方?我想我也看到过类似的异常,那是在关机时。显示更多日志。谢谢。谢谢你回复@JacekLaskowski,但我发现了问题。我尝试了一下,得到了这个例外:`17/06/29 23:35:30错误传输响应Handler:当/127.0.0.1:6 066的连接关闭时,仍然有1个请求未完成17/06/29 23:35:30警告StandaloneAppClient$ClientEndpoint:无法连接到主机127.0.0.1:6066org.apache.SparkException.SparkeException:WaitingResult引发的异常:java.io.IOException:Connection from/127.0.0.1:6066 closed`这是我从主日志中得到的信息:
WARN-HttpParser:state=START for buffer中的非法字符0x0
我在spark 2.3.1上遇到了同样的问题,这个解决方案在我的情况下有效,ie在conf/spark-defaults.conf中添加spark.driver.host属性