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

暴风螺栓如何与数据库交互?

亢建木
2023-03-14

我想知道bolts是如何与DB交互的。至于我从https://storm.apache.org/documentation/commanding-the-parallelism-of-a-storm-topology.html中了解到,像spout和bolt这样的节点实际上被分配到了不同的工作进程,并且可能运行在不同的机器上,如果是这样的话,那么不同机器上的任务在同一个bolt中是如何连接到同一个数据库的呢?还是我误解了Storm集群的工作原理?

共有1个答案

洪高阳
2023-03-14

你的理解是正确的。bolt的每个任务将只是打开它自己到数据库服务器的连接。

 类似资料:
  • 我有一个EvaluationBolt(用于内存监视),我希望确保每个工作进程上运行一个执行器(在我的例子中,每个物理节点运行一个执行器,即supervisor.slots.ports只配置为端口6700)。在题目上我发现了这个问题: 干杯,孙铁麟

  • 在我的拓扑中,当元组从spout转移到bolt或从bolt转移到bolt时,我看到大约1-2 ms的延迟。我使用纳秒时间戳来计算延迟,因为整个拓扑运行在单个Worker中。拓扑是在集群中运行的,集群运行在具有生产能力的硬件中。 根据我的理解,在这种情况下,元组不需要序列化/反序列化,因为所有东西都在单个JVM中。我已经将大多数喷流和螺栓的并行性提示设置为5,并且喷流仅以每秒100的速率产生事件。我

  • 我正在将Neo4J嵌入式数据库与OGM一起使用,并通过OGM SessionFactory在目录中创建数据库服务: 这很好,但现在我想用Neo4J浏览器工具浏览创建的数据库。当我阅读时,我必须通过Bolt公开我的数据库才能访问它。 在Neo4J Embedded留档中,他们使用GraphDatabase aseService并简单地指定一个额外的螺栓驱动程序来公开数据库: 但不幸的是,在使用OGM

  • 我有一个小拓扑。它有一个Kafka喷口,一个从喷口读数的螺栓(螺栓a)。螺栓A发射到两个螺栓(螺栓B和螺栓C)。我使用了字段分组。螺栓A发出两种不同类型的数据。一个用于螺栓B,另一个用于螺栓C。 我的问题是,我是否可以这样配置storm,使用于Bolt B的数据总是流向Bolt B的实例,而用于Bolt C的数据总是流向Bolt B的实例?目前,我正在检查螺栓中接收的数据,并跳过不需要的数据。

  • 我有一个非常简单的Storm螺栓,从Kafka喷口输入,应该只是写到标准输出。它扩展了BaseRichBolt。有关的两种方法是:

  • 假设我在Storm集群中有2个喷口和3个螺栓,并且有两个工人节点。这些喷口和螺栓将在这些工人之间共享(例如第一个工人有1个喷口和2个螺栓,第二个工人有1个喷口和1个螺栓)还是每个工人有2个喷口和3个螺栓,最终在整个集群中有4个喷口和6个螺栓?