我已经使用Google Dataproc几周了,自开始以来,我在取消和停止作业方面遇到了问题。
似乎必须有一些服务器而不是在群集设置中创建的服务器来跟踪和监督作业。
当我在开发人员控制台中按Stop时,我从未有过一个能够完成其工作且没有错误的进程。微调器只会不断旋转。
即使停止了几个小时,群集重新启动或停止也不会执行任何操作。
只有当群集完全删除后,作业才会消失...(但还要等待更多!)如果使用相同的设置创建新的群集,则在删除前一个群集的作业之前,旧的作业将在新的群集上启动!!!
我已经看到由于OOM错误而自行终止的作业会在群集重新启动后自行重新启动! (我这边没有针对这种容错的编码)
如何强制停止Dataproc作业? (gcloud beta dataproc jobs kill
不起作用)
有人知道这些看似相关的问题是怎么回事吗?
是否有特殊的方法来关闭Spark作业以避免这些问题?
最佳答案
作业继续运行
在某些情况下,错误尚未成功报告给Cloud Dataproc服务。因此,如果一项作业失败,即使它(可能)在后端失败了,它也似乎永远运行。在接下来的1-2周内,应该通过即将发布的Dataproc版本来解决此问题。
重新启动后开始作业
这将是意外的和不希望的。我们已尝试复制此问题,但不能。如果有人可以可靠地复制它,我们想知道,以便我们对其进行修复!这可能(已证明)与上述问题有关,在该问题中,即使群集重新启动,作业也已失败但似乎正在运行。
关闭的最佳方法
理想情况下,关闭Cloud Dataproc集群的最佳方法是终止集群并启动一个新集群。如果这有问题,则可以尝试重新启动Compute Engine VM。但是,创建新集群会容易得多。
关于apache-spark - Google Dataproc作业永远不会取消,停止或终止,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33133729/