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