【问题标题】:Storm Exception : Pipe to subprocess seems to be broken风暴异常:到子进程的管道似乎已损坏
【发布时间】:2014-04-02 09:22:13
【问题描述】:

您好,我在生产服务器上设置了storm。运行 supervisorctl status 给出以下输出

storm_nimbus                     RUNNING    pid 24955, uptime 15:51:16
storm_supervisor                 RUNNING    pid 24953, uptime 15:51:16
storm_ui                         RUNNING    pid 24956, uptime 15:51:16
zookeeper                        RUNNING    pid 24954, uptime 15:51:16

进程运行良好,但是当我提交拓扑时出现此错误

java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: Pipe to subprocess seems to be broken! No output read. Shell Process Exception: at backtype.storm.utils.Disruptor

我不知道为什么会发生这种情况,因为当我在本地运行时我的拓扑工作正常。如何追踪此错误的原因。我是新来的风暴所以...

详细错误:

java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: Pipe to subprocess seems to be broken! No output read.
Shell Process Exception:


    at backtype.storm.utils.DisruptorQueue.consumeBatchToCursor(DisruptorQueue.java:87)
    at backtype.storm.utils.DisruptorQueue.consumeBatchWhenAvailable(DisruptorQueue.java:58)
    at backtype.storm.disruptor$consume_batch_when_available.invoke(disruptor.clj:62)
    at backtype.storm.daemon.executor$fn__4050$fn__4059$fn__4106.invoke(executor.clj:658)
    at backtype.storm.util$async_loop$fn__465.invoke(util.clj:377)
    at clojure.lang.AFn.run(AFn.java:24)
    at java.lang.Thread.run(Thread.java:701)
Caused by: java.lang.RuntimeException: java.lang.RuntimeException: Pipe to subprocess seems to be broken! No output read.
Shell Process Exception:


    at backtype.storm.task.ShellBolt.execute(ShellBolt.java:139)
    at backtype.storm.daemon.executor$fn__4050$tuple_action_fn__4052.invoke(executor.clj:566)
    at backtype.storm.daemon.executor$mk_task_receiver$fn__3976.invoke(executor.clj:345)
    at backtype.storm.disruptor$clojure_handler$reify__1606.onEvent(disruptor.clj:43)
    at backtype.storm.utils.DisruptorQueue.consumeBatchToCursor(DisruptorQueue.java:84)
    ... 6 more
Caused by: java.lang.RuntimeException: Pipe to subprocess seems to be broken! No output read.
Shell Process Exception:


    at backtype.storm.utils.ShellProcess.readString(ShellProcess.java:100)
    at backtype.storm.utils.ShellProcess.readMessage(ShellProcess.java:62)
    at backtype.storm.task.ShellBolt$1.run(ShellBolt.java:90)
    ... 1 more

【问题讨论】:

  • 您的 Storm 版本是什么?并且正在使用 Python 创建拓扑?
  • 我使用的是storm 0.8.2和python 2.7。是的,我正在使用 python 来创建我的拓扑

标签: apache-storm topology


【解决方案1】:

我检查了 Storm Worker 日志 (../storm/logs/),发现问题是我的 spout 编程中的一个错误。我正在引用一个不存在的文件问题现在已解决。还是谢谢

【讨论】: