Spark客户端永远不会以纱线群集模式运行

时间:2016-12-09 15:06:36

标签: apache-spark yarn

我们遇到了Spark 1.6.2的奇怪问题。我们正在以clsuter模式提交Spark应用程序。一切都很好,但有时启动应用程序的客户端进程会挂断。解锁它的唯一方法是检查它的sterr:然后它完成。我试着通过一个例子来解释我的意思。

我们位于群集的边缘节点上,我们运行:

spark-submit --master yarn-cluster ... &

事实证明客户端进程pid是12435.然后,Spark应用程序运行并完成(我们可以从Spark UI中看到它)。尽管如此,在边缘节点上,进程12435保持活动并且永远不会结束。然后,我们尝试从/ proc / 12435 / fd / 2检查其输出。当我们这样做时,过程结束。

我无法理解发生了什么以及如何解决它。有人有想法吗?

谢谢你, 马可

1 个答案:

答案 0 :(得分:0)

这与火花无关。

这是一个shell问题。您忘记将错误日志重定向到任何地方。

任何命令都有两个输出流,stdout和stderr,你应该在启动后台作业时提供它们。

如果要将两个输出重定向到同一文件。

tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
   @Override public void onTabSelected(Tab tab) {

   }

   @Override public void onTabUnselected(Tab tab) {

   }

   @Override public void onTabReselected(Tab tab) {

   }
});

如果您想在一个中输入错误并在其他

中输出日志
spark-submit --master yarn-cluster ...  > ~/output.txt 2>&1 &