有没有办法暂停Dataproc集群,所以当我没有主动运行spark-shell或spark-submit工作时,我不会收到账单?此链接上的群集管理说明:https://cloud.google.com/sdk/gcloud/reference/beta/dataproc/clusters/
仅显示如何销毁群集,但我已安装spark cassandra连接器API.我只是创建一个每次都需要安装的图像的唯一选择吗?
通常,最好的做法是将用于自定义群集的步骤提取到一些设置脚本中,然后使用Dataproc的初始化操作在群集部署期间轻松自动执行安装.
这样,您可以轻松地重现自定义,而无需手动参与,例如,您需要在多个并发Dataproc群集上进行相同的设置,或者想要更改机器类型,或者接收Dataproc的子小版本错误修复偶尔发布.
目前确实没有官方支持的暂停Dataproc集群的方式,这在很大程度上仅仅因为能够具有可重现的集群部署以及下面列出的其他几个注意事项意味着99%的时候最好使用初始化操作自定义而不是暂停群集的原因.也就是说,可能存在短期黑客攻击,例如进入Google Compute Engine页面,选择要暂停的Dataproc群集中的实例,然后单击"停止"而不删除它们.
计算引擎每小时收费,Dataproc的每个vCPU费用仅在基础实例运行时产生,因此当您手动"停止"实例时,尽管Dataproc仍然列出,您将不会产生Dataproc或Compute Engine的实例小时费用群集为"RUNNING",尽管有警告您将看到是否转到Dataproc群集摘要页面的"VM Instances"选项卡.
然后,您应该只需点击Google Compute Engine页面中的 "开始" 即可让群集再次运行,但请务必考虑以下注意事项:
群集有时可能无法再次开始进入健康状态; 任何使用本地SSD的东西都无法停止并再次干净利落,但除此之外,Hadoop守护程序可能因任何原因而无法刷新重要的东西,如果关闭不顺序,或者甚至用户安装的设置可能已经破坏启动过程以未知的方式.
即使虚拟机被"停止",它们依赖于剩余的基础持久磁盘,因此即使在"暂停"的情况下,您仍将继续收取费用; 如果我们假设每GB每月0.04美元,并且每个Dataproc节点默认500GB磁盘,则每个实例继续支付〜$ 0.028 /小时; 一般来说,只需将数据放入Google云端存储以进行长期存储,而不是试图将数据长期保留在Dataproc群集的HDFS上,您的数据将更易于访问且更便宜.
如果您过分依赖手动群集设置,那么如果您需要调整群集大小,更改机器类型或更改区域等,那么重新执行会变得更加困难.相比之下,使用Dataproc的初始化操作,您可以使用Dataproc的群集扩展功能来调整群集大小并自动为创建的新工作人员运行初始化操作.