Tag: apache storm

如何使用IDE在Storm生产群集中提交拓扑

我正面临一个问题Must submit topologies using the ‘storm’ client script so that StormSubmitter knows which jar to upload在使用IDE向生产集群提交拓扑时Must submit topologies using the ‘storm’ client script so that StormSubmitter knows which jar to upload ,而如果我使用storm jar命令在命令行执行,则相同像天堂一样奔跑。 我从githublink看过相同的例子 。 对于提交拓扑,我使用这些行 conf.put(Config.NIMBUS_HOST, NIMBUS_NODE); conf.put(Config.NIMBUS_THRIFT_PORT,6627); conf.put(Config.STORM_ZOOKEEPER_PORT,2181); conf.put(Config.STORM_ZOOKEEPER_SERVERS,ZOOKEEPER_ID); conf.setNumWorkers(20); conf.setMaxSpoutPending(5000); StormSubmitter submitter = new StormSubmitter(); submitter.submitTopology(“test”, conf, builder.createTopology()); 如果这是正确的运行方法,请建议我?

如何在风暴中创建拓扑

我们是暴风雨的新手。 我们不知道如何创建拓扑结构,请帮助我们解决风暴问题。 我们尝试了“在Windows上运行风暴”一文中给出的示例wordcount c =拓扑。 但我们无法理解如何给出输入以及输入存在的位置以及风暴ui中输出的位置。

找到了多个defaults.yaml资源

当我试图提交拓扑结构时,我发现了这一点 Exception in thread “main” java.lang.RuntimeException: Found multiple defaults.yaml resources. You’re probably bundling the Storm jars with your topology jar. at backtype.storm.utils.Utils.findAndReadConfigFile(Utils.java:115) at backtype.storm.utils.Utils.readDefaultConfig(Utils.java:135) at backtype.storm.utils.Utils.readStormConfig(Utils.java:155) at backtype.storm.StormSubmitter.submitTopology(StormSubmitter.java:61) at backtype.storm.StormSubmitter.submitTopology(StormSubmitter.java:40) at trident.myproject.main(myproject.java:288) 但是在pom.xml中更新后出现此错误 compile instead of provided 因为我是一个错误 An exception occured while executing the Java class. storm/trident/state/StateFactory 这里是pom文件 maven-assembly-plugin jar-with-dependencies trident.myproject <!– crawler.Crawler –> pom文件的第2部分 […]

如何以编程方式杀死风暴拓扑?

我正在使用java类向Storm集群提交拓扑,我还计划使用java类来终止拓扑。 但是根据风暴文档 ,以下命令用于终止拓扑,并且没有Java方法(这有正当理由) storm kill {stormname} 那么从java类调用shell脚本来终止拓扑是否可以呢? 杀死拓扑的其他方法有哪些? 另外,如何获得在Storm集群中运行拓扑的状态?

如何使用apache风暴元组

我刚开始使用Apache Storm。 我阅读了教程并查看了示例我的问题是所有示例都使用非常简单的元组(通常一个字符串存档)。 元组是内联创建的(使用新值(…))。 在我的情况下,我有许多字段的元组(5..100)。 所以我的问题是如何为每个字段实现具有名称和类型(所有原始)的元组? 有什么例子吗? (我认为直接实施“元组”不是一个好主意) 谢谢

在我的Storm集群中读取AWS SQS队列时,导致这些ParseErrorexception的原因是什么

我正在使用Storm 0.8.1从Amazon SQS队列中读取传入消息,并在执行此操作时获得一致的exception: 2013-12-02 02:21:38 executor [ERROR] java.lang.RuntimeException: com.amazonaws.AmazonClientException: Unable to unmarshall response (ParseError at [row,col]:[1,1] Message: JAXP00010001: The parser has encountered more than “64000” entity expansions in this document; this is the limit imposed by the JDK.) at REDACTED.spouts.SqsQueueSpout.handleNextTuple(SqsQueueSpout.java:219) at REDACTED.spouts.SqsQueueSpout.nextTuple(SqsQueueSpout.java:88) at backtype.storm.daemon.executor$fn__3976$fn__4017$fn__4018.invoke(executor.clj:447) 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: com.amazonaws.AmazonClientException: Unable to […]

java.lang.NoSuchFieldError:INSTANCE

当我试图通过StormSubmitter提交我的拓扑时,我得到了 – Caused by: java.lang.NoSuchFieldError: INSTANCE at org.apache.http.impl.io.DefaultHttpRequestWriterFactory.(DefaultHttpRequestWriterFactory.java:52) 我正在使用Spring。 我没有在Spout / Bolt构造函数中初始化HttpClient。 相反,它是在一个类的构造函数中初始化的,该类是在bolt的prepare()方法中从Spring Context获取的 代码结构如下 – SomeBolt.java @Component public class SomeBolt extends BaseRichBolt { private OutputCollector _collector; private SomeClient someClient; @Override public void prepare(Map conf, TopologyContext context, OutputCollector collector) { _collector = collector; someClient = AppContext.getBean(SomeClient.class); } } SomeClient.java @Component public class SomeClient { private […]