问题标签 [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.
apache-kafka - 在重新启动和首次启动期间,storm kafka first message 被跳过
我已经编写了一个示例拓扑,它将使用来自 kafka 的消息并记录它。请在下面找到代码片段
端到端拓扑很好。当我在 Kafka Producer 中发布消息时,它会被正确使用。我只是收到消息并将其记录在 MessagePrinter 中。
问题描述如下
用例 1:我关闭了拓扑,发送了消息 1-10,当我启动拓扑时,拓扑正确记录了消息 2-10,并且仅第一条消息没有被记录。
用例 2:拓扑启动时会发生同样的问题,第一条消息没有被处理,即将到来的消息被拓扑正确记录
java - kafkaSpout 没有发送消息
我可以使用本地集群运行storm Kafka,但无法使用storm Submitter 下面是我的拓扑代码
谁能帮我解决这个问题:)
我在 worker.log 文件中发现了以下异常。
但是当我查看终端时,它显示已完成提交拓扑:KafkaStormToplogy
apache-storm - Storm Supervisor 显示消息“kill:向 23543 发送信号失败:没有这样的进程”
我启动了storm cluster,所有一个nimbus和两个supervisor都启动得很好,我可以在“Storm UI”上很好地查看它们,然后我部署了示例拓扑“storm-opentsdb-2.0.0-SNAPSHOT.jar”,
它已成功部署在集群上,但几分钟后主管控制台显示消息,并且 Opentsdb 中没有插入任何数据。
相同的拓扑在 Local Cluster 模式下运行得非常好,并且在 OpenTSDB 中插入数据。
为了解决这个问题,我终止了拓扑,终止了 nimbus 和主管节点。我手动删除了 “storm.local.dir:”/tmp/storm-data“”下的文件,还删除了zookeeper znode /storm中的文件。
再次启动集群并部署相同的拓扑但得到相同的错误。
serialization - Apache Storm 1.1.0 中的自定义序列化程序
我在 Storm 拓扑配置中使用自定义序列化程序,如下所示:
ObjectNodeSerializer.class 在螺栓准备期间很好地实例化,但在拓扑执行期间从不调用序列化和反序列化方法。
apache-storm - 调用 Spout.nextTuple() 的 ApacheStorm?
我的问题是:谁在 Apache Storm 拓扑的 Spout 中专门调用nextTuple()
方法?
在某些消息来源中,Storm 本人会这样做,但这并不具体且不清楚。
Storm在什么情况下会导致这个方法呢?预定?
有什么方法可以影响这个过程,比如说,减慢它?
hadoop - 提交拓扑后命令状态停止“创建作业 WordCountTopology”
我尝试使用 Apache Mesos、Apache Aurora、ZooKeeper 和 HDFS 构建 Heron 集群。但是,当我在完成后提交 WordCountTopology 时,命令输出如下:停止“创建作业 WordCountTopology”。
苍鹭追踪器显示:
此外,它在集群中有两台主机。
- master 名为 heron01,运行 Mesos Master、zookeeper 和 Aurora Scheduler。
- slave 命名为 heron02,运行 Mesos slave、Aurora Observer 和 Executor。
我可以使用网站打开 Observer( heron02:1338
) 和 Executor( heron02:5051
)。我不知道我在哪里犯了错误。集群配置非常复杂,我无法在这里完全展示。您可以查看我的网站关于集群配置的信息。很抱歉我的网站是中文的,但我相信你能理解网站中的配置文件内容。博客在这里
非常感谢您的帮助。
apache-storm - 元组在喷口处失败,似乎他们甚至没有到达螺栓
我现在有一个拓扑运行了几天,它从最近几天开始使元组失败。从日志看来,元组没有到达螺栓,附件是 Storm UI 屏幕截图。我在我的代码中最终确认元组,所以没有未确认元组的情况,并且超时设置为 10 秒,这比 UI 上显示的时间要高。
任何提示?在此处输入图像描述
apache-kafka - 风暴拓扑拓扑在 2 或 3 天后未处理
我正在运行一个 3 节点 Storm 集群。我们正在提交一个包含 10 个工作人员的拓扑,以下是拓扑详细信息
拓扑细节:
我们每天处理 8 到 1000 万个数据。问题是 Toplolgy 只运行了 2 到 3 天,而我们在 kafka spout 中看到一些失败的元组并且没有处理任何消息。提交新拓扑时它工作正常,但在 2 中再次运行或 3 天我们看到同样的问题。有人可以为我们提供解决方案。下面是我的风暴配置
风暴.yaml:
python - apache-storm 与 python 的混合拓扑 - ModuleNotFoundError:没有名为“storm”的模块
我正在尝试创建一个混合风暴拓扑,它使用基于 Java 的 spout 和基于 python 的 bolt。
对于基于 python 的螺栓,我编写了一个 Java 包装器:
这就是我的 sample.py 的样子:
进口风暴
然后我将它们放在一起并尝试通过以下代码段运行:
这一切都正确启动,但是,我得到以下异常:
关于如何克服这个问题的任何提示?如何安装那个 python Storm 包?是否可以通过 Anaconda 安装它(我找不到包)?
apache-storm - Apache Storm spout 停止从 spout 发出消息
我们已经为这个问题苦苦挣扎了很长时间。简而言之,我们的风暴拓扑会在一段时间后以随机方式停止从 spout 发出消息。我们有一个自动化脚本,它在主数据刷新活动完成后每天 06:00 UTC 重新部署拓扑。
在过去 2 周中,我们的拓扑在 UTC 时间(22:00 到 02:00 之间)停止发送消息 3 次。它只有在我们重新启动它时才上线,大约是 06:00 UTC。
我搜索了许多答案和博客,但找不到这里发生的事情。我们有一个未锚定的拓扑,这是我们在 3-4 年前做出的选择。我们从 0.9.2 开始,现在是 1.1.0。
我检查了所有类型的日志,我 100% 确定nextTuple()
控制器的方法没有被调用,并且系统中没有发生可能导致这种情况的异常。我还检查了我们积累的所有类型的日志,甚至没有一个 ERROR 或 WARN 日志解释突然停止。INFO 日志也没有那么有用。在工作日志、主管日志或 nimbus 日志中,没有任何内容可以与此问题相关联。
这是我们的 spout 类的外观: Controller.java
这是拓扑类:DiagnosticTopology.java
我们为生产和测试环境准备了相当不错的服务器(至强、8 核、32 GB 和闪存驱动器),并且没有外部因素会导致此问题,因为代码中到处都有异常处理。
当这件事发生的时候,似乎一切都突然停止了,没有任何痕迹。
非常感谢任何帮助!