我正在浏览自动扩展数据过程集群的文档。文档说自动伸缩需要一个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
在同一文档的下面一行,我看到了这个:
避免伸缩primary workers: primary workers运行HDFS datanode;而次要工作人员是只使用计算机的工作人员。避免扩展主要工作人员避免遇到这些问题。例如:
workerConfig:
minInstances: 10
maxInstances: 10
secondaryWorkerConfig:
minInstances: 0
maxInstances: 100
我在dataproc上创建了一个集群,它有以下vm实例:
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
吗?
- 没有缩放母版。
workerConfig
字段总是关于主worker的。 - 将
minInstances
和maxInstances
字段设置为相同的值相当于"不缩放"。 - 您必须始终至少指定
workerConfig.maxInstances
值,workerConfig.minInstances
值默认为2。