每个Kubernetes节点运行多少个Spark Executor Pod

时间:2019-05-28 20:26:35

标签: apache-spark kubernetes

Spark需要大量资源来完成其工作。 Kubernetes是资源管理的绝佳环境。您为每个节点运行多少Spark POD,以达到最佳资源利用率?

尝试在Kubernetes群集上运行Spark群集。

1 个答案:

答案 0 :(得分:0)

这取决于许多因素。我们需要知道您有多少资源,吊舱正在消耗多少。为此,您需要setup a Metrics-server

Metrics Server是资源使用情况数据的群集范围的聚合器。

下一步是设置HPA。

Horizo​​ntal Pod Autoscaler基于观察到的CPU利用率或其他自定义指标,自动缩放复制控制器,部署或副本集中的Pod数量。 HPA通常会从一系列聚合的API中获取指标:

  • metrics.k8s.io
  • custom.metrics.k8s.io
  • external.metrics.k8s.io

如何使其工作?

默认情况下,kubectl支持HPA:

  • kubectl create-创建一个新的自动缩放器
  • kubectl get hpa-列出您的自动缩放器
  • kubectl describe hpa-获得有关自动缩放器的详细说明
  • kubectl delete-删除自动缩放器

示例: kubectl autoscale rs foo --min=2 --max=5 --cpu-percent=80为复制集foo创建一个自动缩放器,目标CPU利用率设置为80%,副本数在2到5之间。您可以并且应该根据需要调整所有值。

Here是有关如何使用kubectl自动缩放命令的详细文档。

如果您觉得有用的话,请告诉我。