首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么火花不把工作分配给所有执行者,而只分配给一个执行者?

为什么火花不把工作分配给所有执行者,而只分配给一个执行者?
EN

Stack Overflow用户
提问于 2015-05-14 20:41:39
回答 2查看 6.3K关注 0票数 7

我的星盘集群有一个主服务器和三个工作人员(在4台不同的机器上,每台机器上都有一个核心),其他设置如下图所示,其中spark.cores.max设置为3spark.executor.cores还设置了3 (在pic-1中)。

但是,当我将我的工作提交给Spark集群时,我可以从Spark中看到只使用一个执行器(根据used RDD在pic-2中阻止),但并不是所有的执行程序。在这种情况下,处理速度比我预期的要慢得多。

既然我把最大内核设为3,难道不是所有的执行者都习惯这个工作吗?

如何将火花配置为将当前作业分发给所有执行者,而不只是一个运行当前作业的执行器?

非常感谢。

------------------pic-1

------------------pic-2

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-05-15 08:01:19

你说你在运行两个接收器,它们是什么样的接收器(Kafka,Hdfs,Twitter?)

你用的是哪个火花版本?

根据我的经验,如果您使用的是除文件接收器以外的任何接收器,那么它将永久占用一个核心。因此,当你说你有2个接收器,那么2个核心将被永久地用于接收数据,所以你只剩下一个核心来做这项工作。

请张贴火花源主页截图。还有约伯的流媒体页面截图。

票数 2
EN

Stack Overflow用户

发布于 2015-05-15 02:52:58

在火花流中,只发射一个接收器,从输入源获取数据到RDD。

在第一次转换后重新划分数据可以增加并行性。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30246963

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档