如何在不使用时终止数据中心群集?

时间:2016-04-05 13:06:23

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

我有一个接受用户工作的系统。这些作业在数据业务上作为火花作业运行。白天有很多工作要运行,但晚上可能没有。我想知道在这些停机期间终止集群的最佳方法是什么?一旦收到新工作,重新启动或重新创建集群?这里的目标是在不活动期间不收取费用。

3 个答案:

答案 0 :(得分:2)

Dataproc现在原生支持scheduled cluster deletion。您可以计划在特定时间(例如晚上7点)或空闲一段时间(例如1小时)删除集群。

您也可以签出cluster autoscaling

答案 1 :(得分:1)

您可以使用以下两种主要方法之一:

  1. 将群集缩小到最小数量的工人(2名工人)[1]
  2. 删除群集并稍后重新创建[2]
  3. 当您使用Google云端存储连接器[3]而非HDFS存储数据时,这两种方法都能发挥最佳效果。

    要缩小群集,您可以在非高峰时段运行此命令:

    gcloud dataproc clusters update <cluster-name> --num-workers <new-number-of-workers>
    

    要在非高峰时段删除群集,请使用以下命令:

    gcloud dataproc clusters delete my-dataproc-cluster-name
    

    使用Dataproc完全支持的可抢占虚拟机[4],您可以将Dataproc持续成本降低多达70%。

    [1] Scaling Dataproc Clusters

    [2] Managing Dataproc Clusters

    [3] Google Cloud Storage Connector for Spark/Hadoop

    [4] Preemptible VMs

答案 2 :(得分:0)

https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/scheduled-deletion

看起来您正在寻找在群集创建期间可以使用的-max-idle 选项。

从文档中

- max-idle :从集群进入空闲状态到集群开始删除的持续时间。以IntegerUnit格式提供持续时间,单位可以是“ s,m,h,d”(分别是秒,分钟,小时,天)。示例:“ 30m”或“ 1d”(从群集空闲起30分钟或1天)。 1秒10分钟14天

-到期时间:开始删除ISO 8601日期时间格式的集群的时间。通过时间戳生成器是一种以正确格式生成日期时间的简单方法。例如,“ 2017-08-22T13:31:48-08:00”在UTC -8:00时区中指定13:21:48的到期时间。从当前时间开始14天到当前时间1秒10分钟

-max-age :从提交集群创建请求到集群开始删除的持续时间。以IntegerUnit格式提供持续时间,单位可以是“ s,m,h,d”(分别是秒,分钟,小时,天)。示例:“ 30m”(从现在开始30分钟); “ 1d”(从现在开始1天)。 1