繁体   English   中英

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

[英]Spark Streaming : number of executor vs Custom Receiver

为什么 Spark 有一个 worker 节点和四个 executor,每个都有一个 core 不能处理Custom Receiver ??

如果执行程序在 Spark Streaming 中只有一个核心,那么不通过自定义接收器处理传入数据的原因是什么?

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

master="spark://lappi:7077"

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

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

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

您想将该executor-cores参数提高到 4。

暂无
暂无

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

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