我对动态资源分配有疑问/问题。我正在使用带有独立集群管理器的 spark 1.6.2。
我有一个有 2 个核心的工人。我在所有节点上的 spark-defaults.conf 文件中设置了以下参数:
spark.dynamicAllocation.enabled true
spark.shuffle.service.enabled true
spark.deploy.defaultCores 1
我运行一个包含许多任务的示例应用程序。我在驱动程序上打开端口 4040,我可以验证上述配置是否存在。
我的问题是,无论我做什么,我的应用程序都只能获得 1 个核心,即使另一个核心可用。
这是正常的还是我的配置有问题?
我想要得到的行为是这样的:我有很多用户使用同一个 spark 集群。我希望每个应用程序都将获得固定数量的核心,除非集群的其余部分处于待处理状态。在这种情况下,我希望正在运行的应用程序将获得内核总数,直到新应用程序到达......
我必须为此去mesos吗?