2015-11-05 49 views
-1

为什么与一个工作节点和四个执行人火花,每一个核可以无法处理定制接收机 ??火花流:执行自定义VS接收机的数目

哪些经由定制接收器不处理输入的数据,如果执行程序具有在火花流的单核的原因吗?

我在单机模式下运行的火花。我在星火流应用越来越定制接收器的数据。我的笔记本电脑有4个内核。

主= “火花:// lappi:7077”

$ spark_path/bin中/火花提交--executor型磁芯1 --total执行人-铁芯4 \ --class“my.class .path.App“\ --master $ master

+0

的问题是不够清楚,请分享确切的代码,用来运行它,并记录方法。 – scrapcodes

回答

2

您指出您的(1)执行程序应该为Spark预留1个内核,这意味着您使用了4个内核中的1个。参数total-executor-cores永远不会受到限制,因为它限制了为Spark预留的集群上的核心总数,即按照您以前的设置1进行设置。

Receiver消耗一个线程用于从您的可用数据中消耗数据,意味着你没有核心来处理数据。所有这一切都在doc解释: https://spark.apache.org/docs/latest/streaming-programming-guide.html#input-dstreams-and-receivers

你想碰到的是executor-cores参数为4

+0

如果我指定了** $ spark_path/bin/spark-submit --executor-cores 4 --total-executor-cores 4 **,那么spark会创建所有4个内核的单个执行程序。这意味着,在这种情况下,也将火花无法处理的4点自定义的接收器输入的数据流。 – purplebee

+0

为什么地啊,你将有4个定制接收器?每个DStream只有一个接收器,而不是每个核心的一个接收器。 – huitseeker

+0

我遵照你的指示。 – purplebee