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



为什么具有一个工作节点和四个执行器(每个执行器具有一个核心)的Spark不能处理自定义接收器??

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

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

master="spark://lappi:7077"

$spark_path/bin/spark-submit--执行器核心1--执行器总核心4\--class"my.class.path.App"\--master$master

您指出您的(1)执行器应该为Spark保留1个内核,这意味着您使用了4个内核中的1个。参数total-executor-cores从不受限制,因为它限制了集群上为Spark保留的内核总数,根据您以前的设置,它是1。

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

您希望将executor-cores参数提高到4。

相关内容

  • 没有找到相关文章