当前位置: 首页 > 知识库问答 >
问题:

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

范书
2023-03-14

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

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

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

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

$spark_path/bin/spack-的提交-执行器-核心1-总执行器-核心4\-类"my.class.path.应用程序"\-主$master

共有1个答案

朱阳晖
2023-03-14

您指示您的(1)执行程序应该为Spark保留1个内核,这意味着您使用4个内核中的1个。参数Total-ecuutor-cores从不限制,因为它限制了集群上为Spark保留的内核总数,根据您之前的设置,为1。

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

您想将执行器-核心参数提高到4。

 类似资料:
  • 我有Kafka主题,有多种类型的消息流入并使用Kafka Connect写入弹性搜索。流看起来不错,直到我不得不将唯一的消息集分离到唯一的索引中。也就是说,我必须根据字段(JSON消息)为新的数据集获取新的索引。 我如何配置/定制Kafka connect以实现同样的功能?每个消息都包含一个表示消息类型和时间戳的字段。 示例 Json 如下所示: Sample1: {“log”:{“data”:“

  • 我已经激活了Spring执行器普罗米修斯endpont<代码>/执行器/普罗米修斯。通过增加对千分尺和执行器的依赖,并启用prometheus Endpont。我如何获得自定义度量?

  • 如何将Spark Streaming指标汇到执行者的StatsD汇? 类似于其他报告的问题(未找到接收器类,接收器类在执行器中),我可以获得驱动程序指标,但执行器在我的设置中抛出< code > ClassNotFoundException : > < li>StatsD sink类是用我的Spark-Streaming应用程序(< code>my.jar)编译的 < li> 运行时使用: (将包

  • 我目前正在尝试将我们的prometheus lib迁移到spring Boot2.0.3版本。我们使用普罗米修斯的自定义路径,到目前为止,我们使用一个工作来确保这一点。由于信息endpoint和健康endpoint可能有自定义路径,因此使用。我尝试指定,但它仍然只能在下访问。 如何使用自定义路径或普罗米修斯? 我们使用以下库启用prometheus(我们的build.gradle的片段) 我们还使

  • 我正在编写一个定制的ThreadPoolExecutor,具有以下额外功能:- > 如果有理想的线程,并且随着任务的到来,将该任务分配到队列中,而不是将其添加到队列中。 如果所有线程(最大池大小)都忙,则在新任务到来时,使用RejectionHandler的reject方法将它们添加到队列中 我已经重写了线程池执行程序的java 1.5版本的执行方法。 新守则如下:- 遗留代码如下所示:- 现在正

  • 我正在尝试为Spring启动应用程序编写自定义终结点。我编写了自定义终结点实现,如下所示。我没有包括额外的内容,如导入以减少代码的大小。 编写完以上代码后,我重新启动了应用程序并尝试从/test访问endpoint。但是,endpoint不可用。以下是Spring Boot start应用程序。 除此之外,我有一切运行Spring Boot致动器。我可以访问默认endpoint,如/info、/m