暂停 Dataproc 集群 - Google 计算引擎

Pausing Dataproc cluster - Google Compute engine

是否有暂停 Dataproc 集群的方法,这样当我不活跃时就不会被计费运行 spark-shell 或 spark-submit 作业? link集群管理说明:https://cloud.google.com/sdk/gcloud/reference/beta/dataproc/clusters/

仅显示如何销毁集群,但我已经安装了 spark cassandra 连接器 API 例如。除了创建一个我每次都需要安装的图像之外,我唯一的选择是什么?

一般来说,最好的办法是将用于自定义集群的步骤提取到一些设置脚本中,然后使用 Dataproc 的 initialization actions 轻松地在集群部署期间自动执行安装。

这样,如果您想要在多个并发 Dataproc 集群上执行相同的设置,或者想要更改机器类型,或者接收 sub-minor-version Dataproc 偶尔发布的错误修复。

目前确实没有官方支持的暂停 Dataproc 集群的方法,这在很大程度上仅仅是因为能够进行可重现的集群部署以及下面列出的其他几个注意事项意味着 99% 的时间最好使用initialization-action 自定义而不是暂停集群 in-place。也就是说,可能存在 short-term 黑客攻击,例如进入 Google Compute Engine page,选择属于要暂停的 Dataproc 集群的实例,然后单击“停止”而不删除它们。

Compute Engine 每小时收费和 Dataproc 的 per-vCPU 收费仅在基础实例 运行ning 时产生,因此当您手动“停止”实例时,您不会产生Dataproc 或 Compute Engine 的 instance-hour 收费,尽管 Dataproc 仍将集群列为“运行”,尽管如果您转到 Dataproc 集群摘要页面的“虚拟机实例”选项卡,您会看到警告。

应该 然后只需单击 Google Compute Engine page 页面中的“开始”即可再次启用集群 运行ning,但重要的是考虑以下注意事项:

  1. 集群偶尔可能无法再次启动到健康状态;任何使用本地 SSD 的东西都已经无法停止并干净地重新启动,但除此之外,如果关闭不正常,Hadoop 守护进程可能出于某种原因无法将重要内容刷新到磁盘,甚至 user-installed 设置可能以未知方式破坏了启动过程。
  2. 即使虚拟机“停止”,它们也取决于剩余的基础 Persistent Disks,因此即使在“暂停”时,您仍会继续为这些虚拟机付费;如果我们假设每个 GB-month 0.04 美元,每个 Dataproc 节点默认 500GB 磁盘,那么每个实例每小时将继续支付约 0.028 美元;通常,将您的数据放入 Google 云存储进行长期存储,而不是试图将其 long-term 保存在 Dataproc 集群的 HDFS 上。
  3. 如果您过于依赖手动集群设置,那么 re-do 如果您需要调整集群大小、更改机器类型或更改区域,就会变得更加困难,等等。相比之下,使用 Dataproc 的初始化操作,您可以使用 Dataproc's cluster scaling feature 调整集群大小并自动 运行 为创建的新工作程序执行初始化操作。

更新

Dataproc 最近推出了停止和启动集群的功能:https://cloud.google.com/dataproc/docs/guides/dataproc-start-stop