如何在自动扩缩 GCP Dataproc 时了解初级工作者?

Posted

技术标签:

【中文标题】如何在自动扩缩 GCP Dataproc 时了解初级工作者?【英文标题】:How to understand primary workers while autoscaling GCP Dataproc? 【发布时间】:2021-05-24 15:50:33 【问题描述】:

我正在阅读 autoscaling 一个 dataproc 集群的文档。 该文档说,在创建具有以下最低配置的集群之前,自动缩放需要一个 yaml 文件:

workerConfig:
  minInstances: 2
  maxInstances: 100
  weight: 1
secondaryWorkerConfig:
  minInstances: 0
  maxInstances: 100
  weight: 1
basicAlgorithm:
  cooldownPeriod: 2m
  yarnConfig:
    scaleUpFactor: 0.05
    scaleDownFactor: 1.0
    scaleUpMinWorkerFraction: 0.0
    scaleDownMinWorkerFraction: 0.0
    gracefulDecommissionTimeout: 1h

在同一个文档中,我看到了这个:

避免扩展主要工作人员:主要工作人员运行 HDFS 数据节点, 而辅助工作者是仅计算工作者。避免缩放 初级工作者避免遇到这些问题。例如:

     workerConfig:
       minInstances: 10
       maxInstances: 10
     secondaryWorkerConfig:
       minInstances: 0
       maxInstances: 100

我在具有以下 vm 实例的 dataproc 上创建了一个集群:

name               role
dev-spark-m      master
dev-spark-w-0    worker
dev-spark-w-1    worker

当文档说Avoid scaling primary workers时,我是否应该理解yaml文件中键workerConfig的配置对应于自动缩放主控dev-spark-m,我应该避免这样做吗? 在这种情况下,我可以简单地保留secondaryWorkerConfig 的配置而不配置workerConfig 吗?

【问题讨论】:

【参考方案1】:
    没有缩放主控。 workerConfig 字段始终与主要工作人员有关。 将minInstancesmaxInstances 字段设置为相同的值相当于“无缩放”。 您必须始终至少指定 workerConfig.maxInstances 值,而 workerConfig.minInstances 值默认为 2。

【讨论】:

以上是关于如何在自动扩缩 GCP Dataproc 时了解初级工作者?的主要内容,如果未能解决你的问题,请参考以下文章

GCP Dataproc 在 Alpha 版中提供了 Druid。如何加载段?

GCP Dataproc 自定义图像 Python 环境

GCP 托管实例组不会缩放到零

如何在 Google Cloud Platform 中配置托管实例组和自动扩缩

在不使用 Dataproc 的情况下将 GCP 与 PySpark 连接

GCP Dataproc 节点中没有资源来启动新的 SparkSession