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

喷口平行度

籍星汉
2023-03-14

刚开始使用Storm,只是了解喷口的概念,以及如何在喷口中实现并行。

共有1个答案

裴星洲
2023-03-14

Storm只是一个框架,您的问题基本上由spout代码的实现来决定。所以,可悲的是,没有办法考虑“一般的壶嘴”。我们得讨论一些具体的喷口。

让我们以Kafka的壶嘴为例。基本上,它与正常的Kafka消费者没有区别。Kafka spout有一个逻辑将分区分配给不同的spout任务,负载平衡也是在这个时期处理的,一个分区只会被一个spout任务消耗,所以不会有多个数据。

 类似资料:
  • 我使用storm0.9.4和storm-kafka:0.9.0-wip16a-scala292作为从kafka0.7读取的依赖项。 我们的Kafka保留政策是7天。 我从经纪人的最新偏移量开始读取。

  • 这里可能发生了同样的事情:错误backtype.storm.util-Async循环死亡!BufferUnderFlowException:null,但我将添加一个完整的堆栈跟踪和一些更多的上下文。 Storm版本-9.3 Storm-Kafka版本-9.3 Kafka版本-0.8.2-beta 堆栈跟踪: Spout代码(注意,出于调试目的,我使用的是一个静态定义的分区映射,只有一个代理):

  • 这是一个关于Storm的max spout pending如何工作的问题。我目前有一个spout读取一个文件,并为文件中的每一行发出一个元组(我知道Storm不是处理文件的最佳解决方案,但对于这个问题我没有选择)。 我将设置为50K,以限制进入要处理的拓扑的元组数量。然而,我看到这个数字在拓扑中没有任何影响。我每次都看到一个文件中的所有记录被发出。我猜测这可能是由于方法中的循环所致,该方法发出文件

  • 我对Apache Storm的性能有一个问题,主要是从喷口出来的。 我有一个从kestrel队列发出项目的拓扑。我获取大约2000个项目,每次在喷注中调用时,我都会发出一个。 我正在使用1个spout任务和1个spout执行器运行。我已将设置为10。 为什么每次调用之间有这么大的时间间隔?outputCollector在发出一个新元组之前是否正在等待听到每个元组的反馈? 我正在运行Java8和st

  • 我理解是使用实现背压的一种简单方法。我想明白,现在背压已经实现了,我们还需要来节流喷口吗? 谢谢!

  • 我已经开始使用storm,所以我使用本教程创建简单的拓扑 我的嘴是这样的 我的螺栓是这样的