【问题标题】:Can Solr or ElasticSearch be configured to use HDFS as their persistence layer in a way that also supports MapReduce?能否将 Solr 或 ElasticSearch 配置为使用 HDFS 作为其持久层,同时支持 MapReduce?
【发布时间】:2015-06-09 10:37:59
【问题描述】:

我有一个大型索引,我需要对其执行近乎实时的更新和全文搜索,但我也希望能够在该数据上运行 map-reduce 作业。是否可以在不必维护两个单独的数据副本的情况下做到这一点? (例如 Solr 中的一个副本,HDFS 中的另一个)。

它看起来像 Solr can be configured to use HDFS for storage,但它看起来与 map-reduce 不兼容,因为它只是将索引存储在 HDFS 中,而这种方式很难从 Hadoop map-reduce 中读取。

对于 ElasticSearch,有es-hadoop,但这是面向从 Hadoop 内部读写 ElasticSearch,但似乎无法解决近实时将数据导入 HDFS 或避免两个问题数据的副本。

有没有人遇到过类似的问题,或者可能找到了其他可能有助于解决问题的工具?或者,为 map-reduce 作业提供单独的数据副本是标准做法吗?

谢谢!

【问题讨论】:

    标签: hadoop solr elasticsearch hdfs


    【解决方案1】:

    如果您正在谈论将来可以选择存储在 hdfs(run map reduce) 中,然后使用 solr 执行索引,那么我认为,您可以按照以下步骤操作

    对于实时流媒体(例如 twitter),您需要将它们实时存储在 db 中。一种选择是将它们发送到 kakfka 并利用风暴。从那里您可以存储在 hdfs 和并行的 solr 中。他们有执行相同功能的螺栓的概念。一旦是hdfs,就可以使用map reduce。进入 Solr 后,您将执行搜索。如果您希望两个数据同步,您可以尝试一些事件处理来监听数据插入 HDFS(或其堆栈)并在 Solr 中执行索引。请通过 kafka,storm 文档了解基本概念。替代品可以是 Flume 或 Spark。不确定那些。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-20
      相关资源
      最近更新 更多