停止和启动 Dataproc 集群

创建集群后,您可以停止它,然后在需要时重启它。停止空闲集群可避免产生费用,而无需删除空闲集群,然后可以创建具有相同配置的集群。

功能说明

  • 只有以下 Dataproc 映像版本或更高版本支持集群启动/停止功能:
    • 1.4.35-debian10/ubuntu18
    • 1.5.10-debian10/ubuntu18
    • 2.0.0-RC6-debian10/ubuntu18
  • 不建议停止个别集群节点,因为已停止的虚拟机的状态可能与集群状态不同步,这可能会导致错误。

停止集群

停止一个集群会停止所有集群 Compute Engine 虚拟机。在这些虚拟机停止后,您无需付费。但是,您将继续为任何关联的集群资源付费,例如永久性磁盘

注意:

  • 正在运行的操作:如果集群有运行操作(例如更新或诊断操作),则停止请求将失败。
  • 正在运行的作业:如果集群有正在运行的作业,则停止请求将会成功,虚拟机将停止,正在运行的作业也将失败。
  • 停止响应:当停止请求在响应中向用户或调用方返回停止操作时,该集群将处于 STOPPING 状态,并且将不允许提交更多作业(SubmitJob 请求将失败)。
  • 自动扩缩:如果您停止启用了自动扩缩功能的集群,Dataproc 自动扩缩器将停止扩缩该集群。集群重启后,它将恢复扩缩集群。如果您为已停止的集群启用自动扩缩功能,则自动扩缩政策仅在集群启动后生效。

监控停止操作

您可以运行 gcloud dataproc operations describe operation-id 以监控长时间运行的集群停止操作。您还可以使用 gcloud dataproc clusters describe cluster-name 命令,以监控集群状态从 RUNNING 转换为 STOPPING,再转换为 STOPPED

限制

启动集群

  • 当您启动停止的集群时,任何初始化操作都不会重新运行。初始化操作只能在创建集群时以及集群扩容添加节点时在集群节点上运行。

  • 启动操作完成后,您可以立即将作业提交到集群。但是,这些作业的执行可能会延迟(大约 30 秒),以便 HDFS 和 YARN 能够正常运行。

使用停止/启动

您可以使用 gcloud CLI 或 Dataproc API。

gcloud 命令

停止集群

gcloud dataproc clusters stop cluster-name \
    --region=region

启动集群

gcloud dataproc clusters start cluster-name \
    --region=region

REST API

停止集群

提交 clusters.stop 请求。

启动集群

提交 clusters.start 请求。

控制台

点击 Dataproc 中的集群名称 集群页面 Google Cloud 控制台,然后点击“停止”以停止集群,然后点击“开始”以启动集群。