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

Apache Storm:将执行程序分配给插槽

颛孙品
2023-03-14

如果有一个3节点集群,并且numworkers=3,并且组合并行度=9(3个喷口+2 x 3个螺栓),那么有没有任何方法可以确定执行器是如何分组的?我读到默认调度程序以循环方式平均分配负载。这是否意味着所有的工作人员都将有一个实例:s->b1->B2执行器?

共有1个答案

丁淇
2023-03-14

对于默认调度程序,您是正确的。如果您有3个workers,每个worker将分配一个您的Spout、Bolt1和Bolt2的实例。

默认调度程序将执行者分配给工作者的顺序是循环的,正如您所正确说明的那样。更详细地说,在调度程序考虑下一个逻辑运算符之前,对每个逻辑运算符的所有执行器进行循环分配。但是,逻辑运算符本身的顺序并不是固定的。有关更多详细信息,请参阅此处的代码:https://github.com/apache/storm/tree/0.9.x-branch/storm-core/src/clj/backtype/storm/scheduler

如果要影响这种行为,可以提供自定义调度程序。参见此处的示例:https://xumingming.sinaapp.com/885/Twitter-Storm-how-to-develop-a-pluggable-scheduler/

 类似资料:
  • 我使用的是Kafka流,具有无状态的简单处理器拓扑结构。 我有一个主题,有100个分区,有2台机器,每台机器有50个线程,运行同一个流媒体应用程序,因此最终我将在它们之间进行1-1映射。 主题中的消息已是键控消息。 我有一个逻辑约束,一旦线程连接到一个或多个分区,它应该继续处理这些分区(当然,直到重新启动发生,它会重新洗牌) 我从日志中看到线程反复(重新)加入消费者组。 我的问题,kafka 流

  • 问题内容: 以下查询将在约22秒内运行: 问题出在 变量赋值上 (实际上是这一行:)。删除作业时,它最多可以加快15毫秒!我通过将结果插入到临时表中解决了这个问题,但我认为这是一种不好的方法。 任何人都可以帮助我解决问题的根源吗? 聚苯乙烯 错误的执行计划(22 s ):https : //www.brentozar.com/pastetheplan/?id=Sy6a4c9bW 良好的执行计划(2

  • 问题内容: 我有一个哈希图,我想复制该哈希图以用于其他用途。但是,每当我复制并重复使用它时,它也会更改原始内容。这是为什么? 提前致谢 问题答案: 您要做的不是创建地图的副本,而是创建地图的副本。当两个引用指向同一对象时,对一个对象的更改将在另一个对象中反映出来。 解决方案1:如果这是从某种简单类型到另一种类型的Map,则应改为: 这称为复制构造函数。几乎所有标准的Collection和Map实现

  • 我的集群配置如下:-7个节点,每个节点有32个核心和252 GB内存。 纱线配置如下:- map reduce配置如下:- null 在这种情况下,对于纱线调度程序,执行器内存+384最大不能超过10GB。在本例中,9856M+384 MB=10GB,因此它工作正常。现在,一旦spark shell启动,执行程序的总数是124个,而不是请求的175个。每个执行器的spark shell启动日志或s

  • 我在Eclipse中工作。 我的Maven程序有一个pom。带有exec插件的xml文件: 我试图传递一个参数,但仍然出现错误: 未知的生命周期阶段“..\src\test\resources\file.txt”。您必须以以下格式指定有效的生命周期阶段或目标:或:[:]。可用的生命周期阶段包括:验证、初始化、生成源、流程源、生成资源、流程资源、编译、流程类、生成测试源、流程测试源、生成测试资源、流

  • 我有一个应用程序是由一系列web服务器和微服务构建的,总共可能有12个。我希望在Applications Insights中监视并映射这套服务。其中一些服务是用Dot Net Framework4.6构建的,并作为Windows服务部署,使用OWIN接收和响应请求。 为了使检测与OWIN一起工作,我使用了ApplicationInsights.OWINExtensions包。我在我的所有服务中使用