我正在使用livy-server-0.2来运行spark作业,但是,我不能更改spark.executor.cores的默认设置,它不能在其他设置可以的情况下生效。
它总是使用一个核心来启动一个执行器。
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://CoarseGrainedScheduler@10.1.1.81: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_HOME/conf中的spark-defaults.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
有人能帮我吗?谢谢!
发布于 2017-11-13 19:14:19
我强烈建议你阅读Livy的源代码,我认为Livy的文档很少,所以,你可能会遇到很多问题,google.Livy只是一个中间件,代码量相对较小。
可以从3个位置指定spark参数:
$LIVY_HOME/conf
中,您可以在spark-defaults.conf
或livy-client.conf
中设置spark参数,如'spark.driver.memory‘;$SPARK_HOME/conf/spark-defaults.conf
使用配置,但这里的配置优先级最低,也就是说,只有在位置A/B没有发生的配置才会生效。发布于 2017-11-14 04:39:39
纱线中有一个属性限制了集群上的资源。
sudo vi /etc/hadoop/conf/capacity-scheduler.xml
将该属性更改为以下内容
"yarn.scheduler.capacity.resource-calculator": "org.apache.hadoop.yarn.util.resource.DominantResourceCalculator"
为了使此属性适用,您必须重新启动纱线
sudo hadoop-yarn-resourcemanager stop
重新启动纱线
sudo hadoop-yarn-resourcemanager start
https://stackoverflow.com/questions/42747822
复制相似问题