使用livy时spark.executor.cores无法生效

问题描述 投票:0回答:2

我使用livy-server-0.2来运行spark作业,但是,我无法更改spark.executor.cores的默认设置,它无法生效,而其他设置可以。

它总是使用 1 个核心来启动执行器。

yarn     11893 11889  6 21:08 ?        00:00:01
/opt/jdk1.7.0_80/bin/java -server -XX:OnOutOfMemoryError=kill 
%p -Xms1024m -Xmx1024m -Djava.io.tmpdir=/var/lib/hadoop-yarn/cache/yarn/nm-local-dir/usercache/root/appcache/application_1487813931557_0603/container_1487813931557_0603_01_000026/tmp 
-Dspark.driver.port=51553 
-Dspark.yarn.app.container.log.dir=/var/log/hadoop-yarn/containers/application_1487813931557_0603/container_1487813931557_0603_01_000026 
-XX:MaxPermSize=256m org.apache.spark.executor.CoarseGrainedExecutorBackend 
--driver-url spark://[email protected]:51553 --executor-id 19 
--hostname master01.yscredit.com --cores 1 --app-id application_1487813931557_0603 
--user-class-path file:/var/lib/hadoop-yarn/cache/yarn/nm-local-dir/usercache/root/appcache/application_1487813931557_0603/container_1487813931557_0603_01_000026/__app__.jar

这是我的spark-defaults.conf 文件,位于$SPARK_HOME/conf 中

spark.master=yarn
spark.submit.deployMode=cluster
spark.executor.instances=7
spark.executor.cores=6
spark.executor.memoryOverhead=1024
spark.yarn.executor.memoryOverhead=1400
spark.executor.memory=11264
spark.driver.memory=5g
spark.yarn.driver.memoryOverhead=600
spark.speculation=true
spark.yarn.executor.memoryOverhead=1400

有人可以帮助我吗?谢谢!

apache-spark executor cpu-cores livy
2个回答
8
投票

我强烈建议你阅读Livy源码。我认为Livy的文档很少,所以,你可能会遇到很多google无法解决的问题。Livy只是一个中间件,代码量相对较少。

您可以从 3 个位置指定 Spark 参数:

  • 位置A:如果您已经在中设置了spark参数 您对 LivyServer 的创建会话发布请求,然后是任何 你的post请求时的配置不能被任何配置文件覆盖。也就是说,你的post请求时的配置具有最高优先级;

  • 位置B:然后在

    $LIVY_HOME/conf
    处,可以设置spark参数 例如
    spark-defaults.conf
    处的“spark.driver.memory”或
    livy-client.conf
    ;

  • 位置C:最后,Livy 还将在以下位置使用配置

    $SPARK_HOME/conf/spark-defaults.conf
    ,但是这里的配置有 最低优先级,也就是说,只进行没有发生的配置 地点 A/B 生效。


1
投票

yarn 中有一个属性限制集群上的资源。

sudo  vi /etc/hadoop/conf/capacity-scheduler.xml

将属性更改为以下内容

"yarn.scheduler.capacity.resource-calculator": "org.apache.hadoop.yarn.util.resource.DominantResourceCalcul‌​ator"

为了使此属性适用,您必须重新启动纱线

 sudo  hadoop-yarn-resourcemanager stop

重新启动纱线

sudo  hadoop-yarn-resourcemanager start 
© www.soinside.com 2019 - 2024. All rights reserved.