问题标签 [apache-storm-topology]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
279 浏览

apache-storm - 由于所有者过度使用集群资源,该用户的拓扑有被计划外的危险

我们正在将 Storm 版本从 1.xx 升级到 2.1.0,并且能够启动 Storm 集群,到目前为止它运行良好,只有一个拓扑。

我们在 Storm UI 中看到一个新的所有者部分,红色背景中显示以下消息:

由于所有者过度使用集群资源,该用户的拓扑有被计划外的危险。

有人可以告诉我们为什么会发生这种情况以及解决方法吗?

0 投票
0 回答
43 浏览

apache-storm - 如何获取与 apachestorm 中的每个执行程序相关联的任务列表?

我正在探索 Apache Storm。我需要知道如何获取与 apachestorm 中节点中的每个执行程序相关联的任务列表。例如,考虑一个具有 1 个 spout 和 2 个 bolt 的简单拓扑:

喷口 -> Bolt1 -> Bolt2

如果有一个 3 节点集群,并且 numworkers = 3,有没有办法确定任务如何与执行者关联和分组?

0 投票
1 回答
921 浏览

apache-storm - 获取 Storm Nimbus 的“No available slots for topology”错误

我是apache风暴的新手。我正在尝试建立一个本地风暴集群。我使用以下链接设置了 zookeeper ,当我启动 zookeeper 时它运行良好。但是当我使用start nimbus命令启动 nimbus 时,我看到一个错误No slot available for topologynimbus.log文件中。

我的nimbus.log文件:

这是我的storm.yml

谁能告诉我我错过了什么配置,如果有的话?请让我知道是否需要任何其他信息来调试它?

我的环境:

  1. Apache-storm-2.1.0
  2. Apache-zookeeper-3.6.1

解决方案:

运行以下命令:

0 投票
1 回答
239 浏览

apache-storm - Apache Storm 2.1.0 内存相关配置

我们正在从 1.1.x 迁移到 2.1.0。

在我们当前的设置中,storm.yaml 中有以下内存配置

我在https://github.com/apache/storm/blob/master/conf/defaults.yaml中看到了许多其他与内存相关的配置,并且对它们有以下问题。

  1. worker.childoptstopology.worker.childopts有什么区别?如果我们在storm.yaml 中设置worker.childopts,我们还需要覆盖topology.worker.childopts吗?
  2. 如果我们在storm.yaml中设置worker.childopts,我们还需要覆盖worker.heap.memory.mb吗?这两个配置之间有关系吗?
  3. 应该topology.component.resources.onheap.memory.mb < worker.childopts吗?我们应该如何确定topology.component.resources.onheap.memory.mb的值?

感谢有人能解释这些观点。

0 投票
1 回答
52 浏览

apache-storm - 什么时候在 Apache Storm 中调用 spout 中的 'ack' 方法?

我有一个用两个螺栓处理文档的拓扑。在文档完全处理/通过整个拓扑结构后,我需要能够修改存储在 spout 中的数据结构。在进一步了解 Apache Storm 之前,我相信在 spout 中实现的 'ack' 方法仅在拓扑结束时调用。我现在看到需要在每个螺栓中调用“ack”并且感到困惑。

本质上,如果我将自定义代码放在 spout 的“ack”方法中:什么时候执行?每次在螺栓中调用“ack”方法时,或者当整个元组树被确认/每个喷口发出的每个元组一次?

0 投票
1 回答
39 浏览

apache-storm - Apache Storm 并行性如何工作?

我是 Apache Storm 的新手,想知道并行提示是如何工作的。

例如,我们有一个包含两个元组 <4>、<6> 的流,一个 spout,每个执行程序只有一个任务,我们有一个螺栓来对元组执行一些操作,并行提示为 2,所以我们有两个执行程序这个螺栓即A和B,关于这个,我有3个问题。

  1. 考虑到上述情况,有可能我们包含值 4 的元组由 A 处理,而另一个包含值 6 的元组由 B​​ 处理。
  2. 如果以这种方式进行处理,即问题(1)中提到的,那么它不会影响顺序重要的操作。
  3. 如果没有以这种方式进行处理,则意味着两个元组都将转到同一个执行程序,那么并行性有什么好处。
0 投票
0 回答
145 浏览

eclipse - Windows 中 Eclipse 中的 Apache Storm Starter 2.2.0 - 尝试从 localhost NimbusLeaderNotFound 获取领导者 nimbus 信息时出现异常

我已经下载了 Apache Storm 2.2.0 的 zip 文件。我在 Windows 10 中将storm-starter maven 项目导入eclipse。做了一个Maven--> 更新项目我的项目没有任何错误。我没有对 pom.xml 做任何更新。我执行了 WordCountTopology.java 我收到错误 NimbusLeaderNotFoundException。我也在停止防火墙后尝试过。

Windows 10 中的相同 Eclipse,在不同的 Eclipse 项目下,对于以前的 Storm 版本的代码(版本 0.0.1)Zookeeper 启动,nimbus 启动正常。我能够得到输出。我没有在本地/eclipse中做任何集群配置。0.0.1 版的成功拓扑

0 投票
1 回答
49 浏览

scheduler - 元数据调度程序的 Apache Storm 问题

我尝试使用元标记在 Apache Storm 中编写调度程序,以将特定任务调度给特定的主管。我在supervisor 1的storm.yaml文件中使用了如下代码:

并在运行以下代码部分时:

}

我得到的唯一消息是“主管元是:null”。我试图改变几件事,但我无法检索我的主管元数据。它总是为空。有什么想法吗?

先感谢您。妮可

0 投票
0 回答
69 浏览

dependency-injection - Apache Storm 拓扑中的依赖注入

小背景:我正在使用 Apache Storm 开发拓扑,我想为什么不在其中使用依赖注入,但我不确定当拓扑部署到集群时它在集群环境中的行为。我开始寻找关于 DI 是否是在 Storm 拓扑中使用的好选择的答案,我遇到了一些关于 Apache Spark 的线程,其中提到序列化将成为问题,并看到一些针对 apache Storm 的响应。所以最后我决定用 google guice 编写一个示例拓扑,看看会发生什么。

我用两个螺栓编写了一个示例拓扑,并使用 google guice 来注入依赖项。第一个bolt发出一个tick tuple,然后第一个bolt创建消息,bolt在日志上打印消息并调用一些相同的类。然后这个消息被发送到第二个螺栓和同样的打印逻辑。

第一个螺栓

第二个螺栓

注入依赖的类

用于绑定的接口

接口的实现

同样的方式另一个类通过 DI 接收依赖项

另一个绑定接口

第二个接口的实现

模块类

这里没什么特别的,只有两个螺栓和几个用于 DI 的类。我将它部署在服务器上,它工作得很好。但是,问题/问题是我必须Injector在每个螺栓中进行初始化,这让我质疑它的副作用是什么?

这个实现很简单,只有 2 个螺栓。如果我有更多螺栓怎么办?如果我必须在所有螺栓中初始化 Injector,它将对拓扑产生什么影响?

如果我尝试在准备方法之外初始化 Injector,我会收到序列化错误。

0 投票
1 回答
167 浏览

apache-storm - Apache Strom 从 1.0.3 升级到 2.2.0 并没有使用所有的 worker

我正在从 Apache Storm 1.0.3 升级到 2.2.0 并面临一个特殊的问题,即拓扑任务并未在所有工作人员上运行,并且仅在与 Spout 相同的工作人员上运行。

我正在使用 shuffleGrouping 并在 2 个螺栓和 1 个喷口中配置了 6 个工作人员和总共 51 个执行程序。当我启动拓扑时,所有 6 个工作人员都按预期启动,但只有一个带喷口的工作人员正在完成所有工作。

我需要 2.2.0 的任何特殊配置吗,我的所有拓扑都可以在 1.0.3 版本中正常工作

作为一项测试,我也在运行 Strom-starter 的 ExclamationTopology,但看到相同的问题是只有一名工人在做所有的工作。

提前感谢您的帮助。

问候,