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

2024-10-04 09:21:26 发布

您现在位置:Python中文网/ 问答频道 /正文

风暴0.10.0
我之前的问题(Apache storm : Could not load main class org.apache.storm.starter.ExclamationTopology)已经解决了。在

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

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"

我在集群上运行这个WordCount拓扑(在这里找到拓扑并简单地运行它)https://dl.dropboxusercontent.com/s/kc933u6vz2crqkb/storm-starter-0.0.1-SNAPSHOT-jar-with-dependencies.jar (这是python)

但是,上的bolt在端口6703本地主机抛出以下错误

java.lang.RuntimeException: backtype.storm.multilang.NoOutputException: Pipe to subprocess seems to be broken! No output read. Serializer Exception: at backtype.storm.utils.ShellProcess.readShellMs

所以我发现拓扑结构有问题,所以检查了我的WordCount-3-1457017776-worker-6701.log(文件)并发现:

所以我认为索引超出范围(发生在第5行,元组变为0)是导致螺栓死亡和管道断裂的原因,所以我无法进一步处理数据,我对这个问题的理解正确吗? 这有什么原因吗?或者是我可以测试的不同拓扑?请先帮我解决这个问题


Tags: tolocalhostlocal集群javazookeeperwordcountjar