Spark Streaming:执行者与自定义接收者的数量

时间:2015-11-05 21:36:25

标签: apache-spark spark-streaming

为什么Spark有一个工作节点和四个执行器,每个都有一个核心无法处理自定义接收器 ??

如果执行者在Spark Streaming中只有一个核心,那么不通过Custom Receiver处理传入数据的原因是什么?

我在独立模式下运行Spark。我在 Spark Streaming 应用程序中获取自定义接收器中的数据。我的笔记本电脑有4个核心。

主="火花:// lappi:7077"

$ spark_path / bin / spark-submit --executor-cores 1 --total-executor-cores 4 \   --class" my.class.path.App" \   --master $ master

1 个答案:

答案 0 :(得分:2)

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

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

您希望将executor-cores参数提升为4。