我想使用Storm集群来实时监控用户事件。目前,用户事件日志保存在MySQL中。每分钟约有100,000条记录记录到MySQL中,每天约有20,000,000条记录。我想每N分钟做一次topN浏览项目排名。如何为此设计喷口?我应该在spout中直接从MySQL查询还是使用像Kafka这样的消息队列?我想要实时性能,所以更喜欢第一种方式。但我发现很少有生产实现选择这种方式。为什么? 最佳答案 要直接从MySqlBin日志发出元组,您可以使用github上的这个mysqlspout(https://github.com/flipkart
我是Storm的新手,我正在尝试创建一个拓扑来接收文件、解析内容,然后运行第三方API对该内容进行一些分析。我有一个拓扑结构、一个喷口和三个bolt。基本上,spout将文件提供给将提取文件内容的第一个bolt。然后第二个bolt将运行第三方分析,最后一个bolt将所有内容写入xml字符串表示形式。我已经测试过前两个bolt按预期工作,但是当我添加最后一个bolt时出现了问题。似乎第二个bolt需要很长时间才能运行,并且Storm正在超时。第三方代码的执行时间大约需要37秒。我一直在读到30秒后Storm将使spout超时并使其失败。我一直在日志中看到这个:17580[Thread-9
嗯,我是ApacheStorm的新手,经过一些搜索和阅读教程后,我不明白容错、负载平衡和其他资源管理器的职责在Storm集群中的位置?它应该在YARN之上配置还是它自己进行资源管理工作?它有它的HDFS部分,还是应该先在集群中配置一个现有的HDFS? 最佳答案 Storm可以自行管理其资源或者可以在YARN之上运行。如果您有一个共享集群(即与其他系统一起运行,如Hadoop、Spark或Flink),使用YARN应该是避免资源冲突的更好选择。关于HDFS:Storm独立于HDFS。如果你想在HDFS之上运行,你需要自己设置HDFS。
我有一个简单的bolt,它从kafkaspout读取数据,然后将数据写入HDFS目录。问题是在集群停止之前,bolt不会写入。我如何确保bolt从kafkaspout读取一个元组,然后立即将其写入HDFS,或者至少写入每个“n”条目。(我用的是CDH4.4,Hadoop2.0)bolt的java:publicclassPrinterBolt10extendsBaseRichBolt{privateOutputCollectorcollector;privateStringvalues;Configurationconfiguration=null;FileSystemhdfs=null
我正在尝试连接到远程服务器中的动物园管理员。Zookeeper在沙箱中运行。当我开始Storm时,它会在UI中显示此消息。我的机器和服务器都有linux。org.apache.thrift7.transport.TTransportException:java.net.ConnectException:Connectionrefusedatorg.apache.thrift7.transport.TSocket.open(TSocket.java:183)atorg.apache.thrift7.transport.TFramedTransport.open(TFramedTransp
我想知道是否有任何spout实现可以将数据从HDFS流式传输到Storm(类似于来自HDFS的SparkStreaming)。我知道有bolt实现将数据写入HDFS(https://github.com/ptgoetz/storm-hdfs和http://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.1.3/bk_user-guide/content/ch_storm-using-hdfs-connector.html),但我找不到其他方法。我感谢任何建议和提示。 最佳答案 一个选项是使用
谁能告诉我“Ack”对于ApacheStorm/Hadoop意味着什么?这是否意味着当一个元组被认为是完整的并且没有失败时你“确认”了它?将其从队列中移除类似于ESB在处理消息后移除消息的方式?这个奇怪的词是从哪里来的,它代表什么?我看了这里但还是有点困惑:https://storm.apache.org/documentation/Concepts.html 最佳答案 就ApacheStorm上下文中的“Ack”而言,它让原始Spout知道元组已被完全处理。IfStormdetectsthatatupleisfullyproces
我正在尝试使用“storm-hdfsconnector0.1.3”将数据写入HDFS。github网址:https://github.com/ptgoetz/storm-hdfs,我已将此依赖项添加到我的Maven项目中。com.github.ptgoetzstorm-hdfs0.1.3-SNAPSHOTprovided将数据写入HDFS的示例拓扑在storm-hdfs项目本身中提供。我只是修改它以匹配我的文件位置。HdfsFileTopology是:packagemy.company.app;importbacktype.storm.Config;importbacktype.sto
$stormnimbusTraceback(mostrecentcalllast):File"/home/chefsolo/apache-storm-0.9.1-incubating/bin/storm",line455,inmain()File"/home/chefsolo/apache-storm-0.9.1-incubating/bin/storm",line452,inmain(COMMANDS.get(COMMAND,unknown_command))(*ARGS)File"/home/chefsolo/apache-storm-0.9.1-incubating/bin/st
如果有人能向我解释TwitterStorm和ApacheHadoop之间的架构差异,那就太好了?我正在寻找一些超越实时与批处理的内部结构。由于这两种技术在为Storm编写拓扑或在Hadoop上进行map-reduce方面非常相似,在Hadoop的任务跟踪器/作业跟踪器和Storm的等效nimbus/supervisor方面,在Hadoop分区和等效洗牌(随机)方面,字段等)在Storm等上(如果我说Storm在内部使用消息队列在spouts/bolt之间传输数据,这与Hadoop的情况不完全一样,在Hadoop中创建中间文件并因此创建I/O,我是否正确?涉及。)编辑:我已经完成了问题A