[英]Spark client never ends running in yarn-cluster mode
我们遇到了Spark 1.6.2的奇怪问题。 我们正在以clsuter模式提交Spark应用程序。一切都很好,但有时启动应用程序的客户端进程会挂断。 解锁它的唯一方法是检查它的sterr:然后它完成。 我试着通过一个例子来解释我的意思。
我们在集群的边缘节点上运行:
spark-submit --master yarn-cluster ... &
事实证明客户端进程pid是12435.然后,Spark应用程序运行并完成(我们可以从Spark UI中看到它)。 尽管如此,在边缘节点上,进程12435保持活动并且永远不会结束。 然后,我们尝试从/ proc / 12435 / fd / 2检查其输出。 当我们这样做时,过程结束。
我无法理解发生了什么以及如何解决它。 有人有想法吗?
谢谢你,马可
这与火花无关。
这是一个shell问题。 您忘记将错误日志重定向到任何地方。
任何命令有两个输出流,stdout和stderr,你应该在启动后台作业时提供它们。
如果要将两个输出重定向到同一文件。
spark-submit --master yarn-cluster ... > ~/output.txt 2>&1 &
如果您想在一个中输入错误而在另一个中输出日志
spark-submit --master yarn-cluster ... > ~/output.txt 2>~/error.txt &
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.