有没有一种方法可以暂停Dataproc集群,以便在我不主动运行spark-shell或spark-submit作业时不被收取费用?此链接上的集群管理说明:https://cloud.google.com/sdk/gcloud/reference/beta/dataproc/clusters/
仅显示了如何销毁群集,但是例如,我已经安装了spark cassandra连接器API。除了创建每次都需要安装的镜像之外,我唯一的选择是吗?
最佳答案
通常,最好的做法是将用于自定义群集的步骤提取到一些安装脚本中,然后使用Dataproc的initialization actions轻松地在群集部署过程中自动完成安装。
这样,如果您想要在多个并发的Dataproc集群上进行相同的设置,或者想要更改计算机类型,或者收到Dataproc的次要版本错误修复,就可以轻松地重现自定义项,而无需人工参与。偶尔发布。
目前,确实没有官方支持的暂停Dataproc集群的方法,很大程度上是因为能够进行可复制的集群部署以及下面列出的其他一些注意事项,这意味着在99%的时间里,最好使用初始化操作自定义来代替就地暂停群集的过程。就是说,可能存在短期入侵,例如进入Google Compute Engine page,选择要暂停的Dataproc集群中的实例,单击“停止”而不删除它们。
仅当基础实例正在运行时才发生Compute Engine每小时收费和Dataproc的per-vCPU收费,因此,尽管您已手动“停止”了实例,但是即使Dataproc仍在列出中,您也不会产生Dataproc或Compute Engine的实例小时收费。将该群集显示为“正在运行”,尽管会显示警告,如果您进入Dataproc群集摘要页面的“VM实例”选项卡,则会看到该警告。
然后,您应该能够从Google Compute Engine page页面上单击“开始”以使集群再次运行,但是考虑以下警告很重要:
更新
Dataproc最近启动了停止和启动集群的功能:https://cloud.google.com/dataproc/docs/guides/dataproc-start-stop
关于apache-spark - 暂停Dataproc集群-Google Compute引擎,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34558427/