我们使用 EKS master 作为 Spark master,到目前为止我们使用固定数量的执行器。 现在我们要启用动态分配,EKS 是否支持。 我看到一些博客说在 EKS 中创建 shuffle 服务作为 daemonset。真的需要动态分配吗
我能够通过以下配置在 EKS 上实现动态分配作为 Spark 主节点:
.config("spark.dynamicAllocation.enabled", "true")
.config("spark.executor.cores", sparkExecCores)
.config("spark.executor.memory", sparkExecMemory)
.config("spark.dynamicAllocation.initialExecutors", sparkInitialExecutors)
.config("spark.dynamicAllocation.minExecutors", sparkMinExecutors)
.config("spark.dynamicAllocation.maxExecutors", sparkMaxExecutors)
.config("spark.dynamicAllocation.executorIdleTimeout", execIdleTimeout)
.config("spark.dynamicAllocation.shuffleTracking.enabled", "true")
.config("spark.dynamicAllocation.cachedExecutorIdleTimeout", cachedExecTimeout)
.config("spark.dynamicAllocation.shuffleTracking.timeout", shuffleTrackingTimeout)