繁体   English   中英

执行器不匹配(在YARN伪分布式模式下闪烁)

[英]Mismatch in no of Executors(Spark in YARN Pseudo distributed mode)

我正在使用YARN(Hadoop 2.6)作为集群管理器运行Spark。 YARN以伪分布式模式运行。 我已经与6位执行者一起启动了Spark Shell,并期待着同样的结果

spark-shell --master yarn --num-executors 6

但是在Spark Web UI中,我仅看到4个执行器

在此处输入图片说明

有什么原因吗?

PS:我在Ubuntu(14.04)中运行了nproc命令,结果如下。 我相信这意味着,我的系统具有8个核心

mountain@mountain:~$ nproc
8

您是否考虑到spark.yarn.executor.memoryOverhead? 可能会产生隐藏的内存需求,最终纱线无法提供全部资源。 另外,请注意,将圆形容器的大小更改为yarn.scheduler.increment-allocation-mb。 此处提供所有详细信息: http : //blog.cloudera.com/blog/2015/03/how-to-tune-your-apache-spark-jobs-part-2/

当集群上没有足够的资源来启动更多执行程序时,就会发生这种情况。 考虑以下事项

  1. Spark执行程序在纱线容器内运行。 此容器大小由yarn-site.xml中的yarn.scheduler.minimum-allocation-mb值确定。 检查此属性。 如果您的现有容器消耗了所有可用内存,那么更多的内存将无法用于新容器。 因此不会有新的执行者开始

  2. UI中的“存储内存”列显示用于执行和RDD存储的内存量。 默认情况下,这等于(HEAP_SPACE-300MB)* 75%。 其余的内存用于内部元数据,用户数据结构和其他内容。 ref( YARN上的Spark:执行程序内存少于通过spark-submit设置的执行者内存

我希望这有帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM