寻找Elasticsearch和ApacheStorm之间的简单集成路径。elasticsearch-hadoop库中包含对此的支持,但这会带来大量对Hadoop堆栈的依赖:从Hive到Cascading,我根本不需要这些。有没有人在没有引入elasticsearch-hadoop的情况下成功地进行了这种集成?谢谢。 最佳答案 在我的项目中,我们使用rabbitmqriver用于索引Storm输出。写入elasticsearch是一种非常高效和方便的方式。您基本上将消息放入队列,剩下的由河流完成。如果有什么东西卡住了,数据会简单地缓
我正在运行一个Storm(三叉戟)拓扑,它从kafka读取avro并将记录写入hbase。拓扑在Localcluster模式下按预期运行,但在使用Stormsubmitter时我遇到了以下问题。在分布式Hadoop模式下,我在启动YARN应用程序时收到以下错误[1]。在Hadoop中(本地模式,只有1个盒子)Yarn正在生成nimbus服务器和storm-ui。但是没有主管运行拓扑中的spout/bolt。我猜原因可能是内存不足(4G来运行拓扑+hbase、hdfs、kafka、zookeeper等...)。你能帮我理解这个容器失败的原因吗?应用程序日志中没有错误/信息。[1]YARN
我目前正在玩Hortonworks新的HDP2.2预览版,发现storm有一些奇怪的行为。许多教程建议您将supervisord安装为看门狗进程,因为storm是一个快速失败的应用程序。当Storm降临时,你需要一些东西来重新启动它。我使用easy_install来设置supervisord,因为yum给你的是旧的2.1版本。我目前安装了版本3。我调出沙箱,启动各种Storm点点滴滴,一切正常。然后我安装supervisord,设置supervisord.conf文件以在底部包含以下内容:[program:storm-nimbus]command=stormnimbusdirector
我正在运行以下Storm设置(在Ubuntu16.464位上)。Storm:0.10.1Hadoop:2.5.2(本地伪集群)Hbase:1.1.5(本地伪集群)jar的编译器:maven通过导入函数使用默认的hbasestorm支持类:org.apache.storm.hbase.bolt.HbaseBolt和mapper.SimpleHBaseMapper。我正在尝试使用“Hbase”bolt写入Hbase数据库。在此过程中出现以下错误:016-07-3021:06:14.874b.s.util[ERROR]Asyncloopdied!java.lang.NoSuchFieldEr
我有一个HDFS目录,其中的文件将从许多来源连续复制(流式传输)。如何构建用于监控HDFS目录的拓扑结构,即无论何时在该目录中创建新文件,都应该对其进行处理。 最佳答案 您希望监控HDFS文件/目录更改。看看这个问题,它指向Oozie和HBase中的现有支持:HowtoknowthatanewdataisbeenaddedtoHDFS?当这些工具检测到新文件时,您可以将项目发送到拓扑中进行处理。或者你可以在storm中编写自己的自定义逻辑,定期列出并检查是否有新文件添加到HDFS中。查看Storm中的刻度元组支持。
我知道spark进行内存计算并且比MapReduce快得多。我想知道spark对于sayrecords我在后端使用MapReduce的hive中进行数据质量检查。每个文件大约需要8分钟,这对我来说很糟糕。spark会给我更好的表现吗?比方说2-3分钟?我知道我必须做一个基准测试,但在我真正开始使用Spark之前,我试图了解这里的基础知识。我记得第一次创建RDD是一项开销,因为我必须为每个传入的文件创建一个新的RDD,这会花费我一些钱。我很困惑哪种方法对我来说是最好的方法-spark、drill、storm还是Mapreduce本身? 最佳答案
我使用Hadoop构建了一个用于在分布式环境中搜索相似图像存储的应用程序。但是Hadoop不支持实时处理,所以响应时间长。我知道Storm是大数据分析应用的另一个框架。但是我很困惑我们是否可以使用Storm来实现这种应用程序。有没有人能建议什么样的应用程序可以有效地使用Storm框架。 最佳答案 Stormisaveryscalable,fast,fault-tolerantopensourcesystemfordistributedcomputation,withaspecialfocusonstreamprocessing.St
这是引用Storm'sOutputCollector尤其是它的ack(Tuple)和fail(Tuple)方法。这两种方法都只是将调用转移到IOutputCollector类型的_delegate字段。但是在看到IOutputCollector的类型层次结构时,似乎没有任何实现该接口(interface)的类可以使用这些方法做一些有用的事情。CoordinatedOutputCollector和AnchoringOutputCollector似乎在针对它们自己的用例做一些特定的事情。如果我使用至少一次传递语义和公认的元组运行拓扑,使用哪种输出收集器?或者更一般地说,OutputColl
我正在尝试向我的Storm集群提交一个字数统计拓扑。我使用Eclipse创建了一个jar,但它显示异常。谁能告诉我该怎么做。我在这里附上我的代码和异常。Spout创建-publicclassWordReaderimplementsIRichSpout{privateSpoutOutputCollectorcollecter;privateBufferedReaderbufferedreader;privateFileReaderfilereader;privateBooleancompleted=false;privateTopologyContextcontext;privatefi
1)如果Nimbus失败会怎样?我们可以将其他节点转换为Nimbus吗?2)拓扑的输出存储在哪里?当一个bolt发出一个元组时,它存储在哪里?3)如果zookeeper失败会怎样? 最佳答案 Nimbus本身是一个容错进程,这意味着它不会将其状态存储在内存中,而是存储在外部数据库(Zookeeper)中。因此,如果Nimbus崩溃(不太可能发生的情况),在下一次启动时,它将在停止的地方继续处理。Nimbus通常必须设置为由外部监控系统监控,例如Monit,它将定期检查Nimbus进程状态并在出现任何问题时重新启动它。我建议你阅读St