【问题标题】:Scheduling start/stop DataProc clusters调度启动/停止 DataProc 集群
【发布时间】:2021-09-07 13:31:44
【问题描述】:

从提供的 dataprocs 文档中可以看出:

为避免因非活动集群产生 Google Cloud 费用, 当您创建一个 簇。此功能提供删除集群的选项:

  • 在指定的集群空闲期之后
  • 在指定的未来时间
  • 从提交集群创建请求开始的指定时间段后

但是,我正在寻找的是允许我自动安排集群活动的东西,例如我希望集群仅在工作日和工作时间处于活动状态。
这样我就可以避免产生额外的成本,而无需手动停止(或者更确切地说,只需像从 DataProc 文档中看到的那样删除)并每天重新创建集群。

为此,在 Compute Engine 中,我可以为集群的虚拟机创建调度以停止它们。
虽然,通过使用这种方法,虚拟机通过这个计划停止,但我仍然看到集群在 DataProc 中“运行”。

我是否仍然需要承担费用?如果是,在 DataProc 中是否有任何类似的计划替代方案?

作为附加问题,是否可以将计划应用于具有自动缩放策略的集群?

【问题讨论】:

  • 您应该考虑为什么要挂在集群上而不是重新创建它。停止的集群不是免费的,因为它是为磁盘收费的。此外,静态集群没有获得任何上游(spark、hadoop)错误修复、安全更新,甚至是关键操作系统补丁(如CVE-2018-3590)。

标签: google-cloud-platform google-compute-engine google-cloud-dataproc


【解决方案1】:

满足您要求的最佳方法是将Cloud ComposerDataproc start and stop APIs 结合使用。

如果您停止底层虚拟机,Dataproc 也会停止对停止的虚拟机收费,因为Dataproc billing 是基于核心小时数的。但这并不是节省成本的最安全和稳健的方法,我相信 Dataproc 停止有一些逻辑来确保停止是安全的。我们绝对应该更喜欢 Dataproc 停止 API,而不是直接停止虚拟机。但请注意,无论哪种方式,您仍然需要为停止的虚拟机购买永久性磁盘。所以考虑将你的输入和输出数据保留在 GCS 中,当你需要进行数据处理时创建集群,然后删除。重新创建集群还将为您提供重新启动集群不提供的最新更新和错误修复。

自动缩放不会删除主节点,并且作为best practice,您的策略应避免扩展主要工作人员,而仅扩展辅助工作人员,因为主要工作人员需要保留 HDFS 数据(如果启用了 EFM,则对数据进行洗牌)。因此,如果您想完全停止集群以避免成本,那么自动缩放不是一个好的选择。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-29
    • 1970-01-01
    • 2018-05-25
    • 1970-01-01
    • 2020-01-31
    • 1970-01-01
    • 2016-04-06
    • 1970-01-01
    相关资源
    最近更新 更多