backtype.storm.multilang.NoOutputException:管道到子进程似乎被打破了!没有输出读取

时间:2017-05-14 12:35:31

标签: python-2.7 apache-storm

我是暴风雨使用python的新手。我在本地模式下运行它时遇到问题

ERROR backtype.storm.util - Async loop died!
java.lang.RuntimeException: backtype.storm.multilang.NoOutputException: Pipe to subprocess seems to be broken! No output read.
Serializer Exception:
usage: simbolt.py [-h] --data DATAPATH --pre PRECOMPPATH --res RESULT --inp
                  ORIGFILE
simbolt.py: error: argument --data/-d is required

我无法想象如何解决它或问题出在哪里? 如果你需要什么我可以从代码中分享它,知道原因请告诉我

1 个答案:

答案 0 :(得分:0)

首先你想做什么?如果您正在调用子进程,我假设您正在尝试使用传入元组中收到的数据从螺栓运行外部程序?如果是这样,有更多的Storm(JVM)本机方法可以做到这一点,但需要使用Java。

如果您使用Python和其他外部程序处理数据并希望以分布式方式执行,那么Storm可能不是您最好的选择。你可能最好使用像Celery这样的东西。

但是,如果你想要Storm的所有优点,你可以重写外部子进程在Python中所做的任何事情,那么StreamParse可能是一个不错的选择。

如果您可以提供有关您尝试使用子流程和整体拓扑的更多信息,我可能会进一步提供帮助。