Java Storm WordCount错误:到子进程的管道似乎已断开,未读取输出

Java Storm WordCount错误:到子进程的管道似乎已断开,未读取输出,java,python,apache-storm,topology,Java,Python,Apache Storm,Topology,风暴0.10.0 我先前的问题()已经解决了 您好,我有一个单节点集群在我的机器上运行,storm配置文件如下:(storm.yaml) 我在集群上运行了这个WordCount拓扑(在这里找到了拓扑并简单地运行了它) (这是python) 但是,螺栓的另一端在端口6703 localhost上抛出以下错误 java.lang.RuntimeException:backtype.storm.multilang.NoOutputException:子流程的管道似乎已断开!没有输出读取。序列化程序异常

风暴0.10.0
我先前的问题()已经解决了

您好,我有一个单节点集群在我的机器上运行,storm配置文件如下:(storm.yaml)

我在集群上运行了这个WordCount拓扑(在这里找到了拓扑并简单地运行了它) (这是python)

但是,螺栓的另一端在端口6703 localhost上抛出以下错误

java.lang.RuntimeException:backtype.storm.multilang.NoOutputException:子流程的管道似乎已断开!没有输出读取。序列化程序异常:位于backtype.storm.utils.ShellProcess.readShellMs

因此,我认为拓扑中有问题,因此检查了我的WordCount-3-1457017776-worker-6701.log(文件),发现:

b.s.d.executor[INFO]传递元组任务:8元组:源:split:18,流:默认,id:{},[“moon”]
b、 s.d.executor[INFO]BOLT-ack任务:18时间:元组:源:喷口:25,流:默认值,id:{},[母牛跳过了月球]
b、 s.t.ShellBolt[INFO]ShellLog pid:1714,名称:拆分回溯(最近一次调用最后一次):
文件“/var/stormtmp/supervisor/stormdist/WordCount-3-1457017776/resources/storm.py”,第172行,运行中
自处理(tup)
文件“SplitSession.py”,第5行,正在处理中
words=tup.values[0]。拆分(“”)
索引器:列表索引超出范围
b、 s.t.ShellBolt[错误]停止过程:ShellBolt已死亡。命令:[python,SplitSession.py],ProcessInfo pid:1714,名称:split exitCode:0,errorString:
java.lang.RuntimeException:backtype.storm.multilang.NoOutputException:子流程的管道似乎已断开!没有输出读取。
序列化程序异常:
在backtype.storm.utils.ShellProcess.readShellMsg(ShellProcess.java:101)~[storm-core-0.10.0.jar:0.10.0]
在backtype.storm.task.ShellBolt$BoltReaderRunnable.run(ShellBolt.java:321)[storm-core-0.10.0.jar:0.10.0]
在java.lang.Thread.run(Thread.java:745)[?:1.7.0_95]
b、 s.d.执行人[错误]
java.lang.RuntimeException:backtype.storm.multilang.NoOutputException:子流程的管道似乎已断开!没有输出读取。
序列化程序异常:
在backtype.storm.utils.ShellProcess.readShellMsg(ShellProcess.java:101)~[storm-core-0.10.0.jar:0.10.0]
在backtype.storm.task.ShellBolt$BoltReaderRunnable.run(ShellBolt.java:321)[storm-core-0.10.0.jar:0.10.0]

在java.lang.Thread.run(Thread.java:745)[?:1.7.0_95]
需要更多信息吗?从哪里获取拓扑?您的理解是正确的,尽管我在系统上测试了wordcount拓扑,没有出现错误。。。可能是您的jar文件已被修改。最好的方法是获取storm starter包的源代码,并自己编译,以确保代码的功能。您的错误基本上是说元组是空的,它一定是来自拓扑中的上游,尽管没有源代码,我们无法知道错误的来源。您知道这个问题的原因吗?需要更多信息吗?您从哪里获得拓扑?您的理解是正确的,尽管我在系统上测试了wordcount拓扑,没有出现错误。。。可能是您的jar文件已被修改。最好的方法是获取storm starter包的源代码,并自己编译,以确保代码的功能。您的错误基本上是说元组是空的,它一定来自拓扑中的上游,尽管没有源代码,我们无法知道错误的来源。您知道这个问题的原因吗?
storm.zookeeper.servers:
#     - "server1"
#     - "server2"
  - "localhost" 
storm.zookeeper.port: 2181
nimbus.host: "localhost"
storm.local.dir: "/var/stormtmp" 
java.library.path: "/usr/local"
supervisor.slots.ports:
  - 6700
  - 6701
  - 6702
  - 6703
worker.childopts: "-Xmx768m"
nimbus.childopts: "-Xmx512m"
supervisor.childopts: "-Xmx256m"