我在HDFS上有一个以YARN模式运行的Spark群集。我启动了一个具有2个内核和2g内存的工作程序。然后,我提交了具有1个具有3个核心的执行程序的动态配置的作业。不过,我的工作仍然可以执行。有人可以解释一下启动该工作程序的内核数量与为执行程序请求的内核数量之间的区别。我的理解是,由于执行者在 worker 内部运行,因此他们获得的资源无法超过 worker 可用的资源。
最佳答案
检查yarn-site.xml中的参数yarn.nodemanager.resource.cpu-vcores。
yarn.nodemanager.resource.cpu-vcores控制每个节点上的容器使用的最大核心总数。
关于hadoop - Spark Worker和Executors核心,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41585589/