当前位置: 首页 > 知识库问答 >
问题:

Storm创建拓扑

殷永嘉
2023-03-14

我正在尝试使用Eclipse在Linux中运行Storm启动示例。我收到以下错误和nexttuple函数从未被调用。

错误:

35979 [main] INFO  o.a.s.d.supervisor - Shutting down supervisor cfba8fc6-    81e6-47cb-b8b9-ec7c700f4dfe
35981 [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2000] WARN  o.a.s.s.o.a.z.s.NIOServerCnxn - caught end of stream exception
org.apache.storm.shade.org.apache.zookeeper.server.ServerCnxn$EndOfStreamException: Unable to read additional data from client sessionid 0x1541437f2a0000a, likely client has closed socket
at org.apache.storm.shade.org.apache.zookeeper.server.NIOServerCnxn.doIO(NIOServerCnxn.java:228) [storm-core-1.0.0.jar:1.0.0]
at org.apache.storm.shade.org.apache.zookeeper.server.NIOServerCnxnFactory.run(NIOServerCnxnFactory.java:208) [storm-core-1.0.0.jar:1.0.0]
at java.lang.Thread.run(Thread.java:745) [?:1.7.0_67]
35985 [Thread-10] INFO  o.a.s.event - Event manager interrupted

我的拓扑类:

package com.storm.MobileCallLogAnalyzer;

import org.apache.storm.tuple.Fields;
import org.apache.storm.tuple.Values;

//import storm configuration packages
import org.apache.storm.Config;
import org.apache.storm.LocalCluster;
import org.apache.storm.StormSubmitter;
import org.apache.storm.topology.TopologyBuilder;

//Create main class LogAnalyserStorm submit topology.
public class LogAnalyserStorm {
   public static void main(String[] args) throws Exception{
      //Create Config instance for cluster configuration
      Config config = new Config();
      config.setDebug(true);

      //Creating Topology
      TopologyBuilder builder = new TopologyBuilder();
       builder.setSpout("call-log-reader-spout", new FakeCallLogReaderSpout());

      builder.setBolt("call-log-creator-bolt", new CallLogCreatorBolt())
         .shuffleGrouping("call-log-reader-spout");

      builder.setBolt("call-log-counter-bolt", new CallLogCounterBolt())
         .fieldsGrouping("call-log-creator-bolt", new Fields("call"));

      LocalCluster cluster = new LocalCluster();
      cluster.submitTopology("LogAnalyserStorm", config, builder.createTopology());
      Thread.sleep(10000);

      //Stop the topology
      cluster.shutdown();
   }
 }

我正在虚拟机环境中工作,所以不知道这是否是由于安装了Zookeeper。有什么想法吗?

共有1个答案

赏成益
2023-03-14
30736 [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2000] WARN  o.a.s.s.o.a.z.s.NIOServerCnxn - caught end of stream exception
org.apache.storm.shade.org.apache.zookeeper.server.ServerCnxn$EndOfStreamException: Unable to read additional data from client sessionid 0x1541468b5e7000d, likely client has closed socket
at org.apache.storm.shade.org.apache.zookeeper.server.NIOServerCnxn.doIO(NIOServerCnxn.java:228) [storm-core-1.0.0.jar:1.0.0]
at org.apache.storm.shade.org.apache.zookeeper.server.NIOServerCnxnFactory.run(NIOServerCnxnFactory.java:208) [storm-core-1.0.0.jar:1.0.0]
at java.lang.Thread.run(Thread.java:745) [?:1.7.0_67]
30914 [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2000] INFO  o.a.s.s.o.a.z.s.NIOServerCnxn - Closed socket connection for client /127.0.0.1:52175 which had sessionid 0x1541468b5e7000d

似乎本地Storm实例无法连接到嵌入式ZooKeeper实例,而使用本地集群模式。

看见https://groups.google.com/forum/#!主题/Storm用户/fLB9KCTeWX0

也许,这会帮助你!

 类似资料:
  • 问题内容: 我们是新来的风暴。我们不知道如何创建拓扑,请帮助我们应对风暴。我们尝试了“ Windows上的狂风暴雨”一文中给出的示例wordcount c = topology。但是我们无法理解如何给出输入,以及风暴用户界面中输入存在的位置以及输出存在的位置。 问题答案: 输入和输出在Storm UI中不存在。在Storm UI中,您看不到发出的元组,处理时间,集群配置和集群的运行状况。要查看输出

  • 8台机器一直在使用。每一个都有22个核心和512 GB的RAM。但是,我们的代码运行得真的很慢。传输600万个数据需要10分钟才能完成。 60个文件中的10 MB在一秒钟内传输到HDFS。我们正在努力优化我们的代码,但很明显我们做了一些非常错误的事情。 对于蜂巢表,我们有64个桶。 在HDFS喷口;.setmaxextending(50000); 在蜂巢喷口选项;.WithTxNsperBatch

  • 如何为storm拓扑提供自定义配置?例如,如果我构建了一个连接到MySQL集群的拓扑,并且我希望能够更改需要连接到哪些服务器而不需要重新编译,我将如何做到这一点?我更喜欢使用配置文件,但我担心文件本身没有部署到集群中,因此它不会运行(除非我对集群工作方式的理解有缺陷)。到目前为止,我所看到的在运行时将配置选项传递到storm拓扑的唯一方法是通过命令行参数,但当您获得大量参数时,这将是混乱的。 有一

  • 我读了很多和Storm有关的网站。但我仍然无法将拓扑结构完美地映射到Storm集群中。 请帮助我理解这一点。 在Storm集群中有这样的术语 null null null 所有这些都要用Storm集群来映射。我已经在一个项目里工作了。所以我知道拓扑结构。

  • 我是阿帕奇Storm的新手。我已经在intellij中用java创建了一个storm项目,它成功地创建了一个本地集群,并将拓扑提交给它,然后在本地运行。我想在亚马逊EC2上运行这个Storm项目。我跟踪了https://github.com/nathanmarz/storm-deploy/wiki链接。跟随链接成功发射了2个主管,1个动物园管理员和1个灵光。现在我想在服务器上运行我的拓扑。这是我在

  • 不能使用构造函数(new)显式创建[org.quadrisk.TopLogy.TenderEventspout2]的实例。您必须使用“actor of”工厂方法之一来创建新的actor。请参阅文档。 但是按照建议使用actorOf创建一个actor,会返回一个ActorRef类型的对象。我该怎么做。提前道谢。