我在做oozie的spark submit, --driver-cores
选项不起作用。例如,如果我提供 --driver-cores 4
,Yarn仍为驱动程序创建1个vcore容器。
oozie中的spark选项:
<master>yarn-cluster</master>
<spark-opts>--queue testQueue --num-executors 4 --driver-cores 4
...
</spark-opts>
我也试过其他配置键,比如 --conf spark.driver.cores=4
以及 --conf spark.yarn.am.cores=4
,甚至那些都不起作用。
任何指针都会有帮助。谢谢
1条答案
按热度按时间z4bn682m1#
如果您已经指定了这一点,那么您的程序将使用4个内核。这是毫无疑问的。
你看错了。
所以在资源管理器页面中,如果您处于默认设置
DefaultResourceCalculator
,它只计算内存使用情况。对于vcore用法,它总是显示1,因为它不计算它。
如果可以将资源管理器类更改为
DominantResourceCalculator
,然后它将显示实际的核心使用情况。只需将此属性添加到yarn-site.xml并重新启动yarn
您还可以通过spark history server ui来验证这个理论。
在更改任何内容之前,请在spark ui中查找spark作业。
转到该作业的executors部分,您将看到spark使用的所有executor及其配置。