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

Apache storm在不同计算机上执行螺栓(指定节点)

刘昌翰
2023-03-14

我想创建一个拓扑,其中一个喷口发出单词,一个bolt基于这些单词创建一个以word命名的目录。

我有两个supervisor节点,如果word以“a”到“l”开头,则在一个节点上创建目录,否则在另一个节点上创建目录。例如,如果word是“确认”,则将在一个节点上创建一个目录,如果word是“机器”,则将在另一个节点上创建目录。

附注。我使用Pyleus(https://github.com/yelp/Pyleus)创建螺栓和喷口。

共有1个答案

董法
2023-03-14

您可以使用单个bolt,但可以使用它的两个实例。此bolt的每个实例都运行每个supervisor节点。使用自定义字段分组功能可以实现相同的功能。您的自定义字段分组逻辑决定该字段必须分派到bolt的哪个实例。

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

  • 是否有一种方法可以使用Selenium Grid来执行位于远程节点机器上的批处理文件以更改主机文件? VM1包含代码,并充当中心VM2运行Chrome节点VM3运行火狐节点VM4运行IE节点 每个VM上都存在一组批处理文件,但是,按原样运行时,只有VM1执行批处理文件。如何告诉Selenium在正确的节点上执行批处理文件? FWIW,我现在通过詹金斯执行任务。 最初编写代码时,我只是通过Eclip

  • 问题内容: 我正在Ubuntu上用python编写程序,以在RaspberryPi上执行命令,并与网络连接。 有人可以指导我该怎么做吗? 问题答案: 当然,有几种方法可以做到! 假设您在主机上安装了Raspberry Pi,并且用户名是。 这是运行命令的默认Python库。 您可以使其运行并在远程服务器上执行所需的任何操作。 scrat已在他的回答中提及。如果您不想使用任何第三方库,则绝对应该这样

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

  • 我的拓扑看起来是这样的:Bolt A向Bolt B和C发出相同的元组,每个元组都将数据持久化到Cassandra。这些操作不是幂等的,并且包括对两个不同计数器列族的更新。我只对元组失败和在Cassandra的某些异常(不是读/写超时,只是QueryConsistency或Validation异常)中重播它感兴趣。问题是,如果bolt B失败,相同的元组将从spout重播,并再次发送到bolt C,

  • 我刚刚下载了用于Linux的nifi-0.5.1。 我很感激你的帮助,