apache-storm - 具有一个工作节点的 Apache Storm 中的并行性
问题描述
我正在尝试使用 Apache Storm 并行化我的拓扑,但java.util.ConcurrentModificationException
如果我增加工作程序的数量>1,它会在工作程序节点上出现错误。它适用于 1 个工作人员和本地集群。我想要一种方法来并行化我的拓扑并仅使用一个工作节点来测量不同的参数,如吞吐量、延迟、发射率等。
解决方案
根据您发布的堆栈跟踪,看起来 Kryo 正在尝试序列化 ArrayList 并遇到 ConcurrentModificationException。我会寻找您发出 ArrayList 的任何地方,并确保在将其传递给OutputCollector.emit
.
当您只有一个工作人员时,您没有看到此问题的原因可能是 Storm 仅在需要将发出的对象发送给其他工作人员时对其进行序列化。
推荐阅读
- javascript - 在 ReactJS todo 应用程序中,我试图将输入字段文本状态设置为另一个状态,即对象数组
- c++ - 暂停功能它永远循环
- node.js - 如何修复流类型别名未定义。eslint 抛出的 eslint(no-undef)
- excel - 对象在循环内的 IF 语句中不支持此属性/方法
- javascript - 循环通过开放层特征对象数组
- javascript - 图标传单地图javascript
- symmetricds - Symmetricds 支持空间数据库?
- java - 我不明白复制构造函数是如何工作的
- jquery - JQuery保存文件并从中读取而不是每次都打开新版本
- amazon-web-services - 跨账户 IAM 访问被 GUI 客户端拒绝,但通过 CLI 允许