• Lily建立在HBase上的分布式搜索


    http://www.lilyproject.org/lily

    Lily以NoSQL技术为主题,是建立在云计算上的内容仓库(content repository)。它是基于Apache的 HBase(存储)和Solr(索引/搜索),并提供了大型内容集合存储与检索的解决方案。可运用在 门户网站,内容管理系统,及时搜索,档案应用,文案管理,等等。

    Lily项目与传统的Lucene框架相比体现了以下几点关键性的优势:
        ·伸缩性  –> sharding/MapReduce 
        ·可用性
      –> replication 
        ·及时性  –> real-time update index
        ·容错性  –> no SPFO

    另外,Lily 借用了Apache的 HBase进行存储 ,Solr进行Index/Search;
                Lily 重新构建大数量的索引Lily会采用MapReduce把索引当做文件切在HDFS上;
                Lily 索引更新时切换并没有像LinkedIn的Zoie那样保存在内存里,Lily在Hbase上建立了secondary indexes;
                Lily 在建立索引的结构方面 借鉴了Google App Engine的索引设计思想
                Lily 那帮人考虑使用HBase和Solr作为基础平台纠结了很久,最终给出了一些依据。

    BTW:关于上面提到了LinkedIn的Zoie我想多数两句,Zoie跟LinkedIn的其他产品捆绑的非常紧密,导致你如果单一的使用Zoie总会觉得很变扭,而且文档非常少,那篇让人貌似惊喜的中文文档仍然不够详细,只好对Zoie望而却步了。

    Lily的整个系统架构由4个主要的部分组成:
        1.Zookeeper – 对分布式环境中的状态和配置进行管理,并作为系统中客户端的访问入口。
        2.Lily Middleware -由WAL(预写日志)、Message Queue(消息队列)、Indexer(索引策略)、Lily Repository(索引CRUD) 组成。
        3.HBase -作为存储单元,最终的消息、索引、数据和二进制数据还是存储在HDFS上。
        4.Solr – 建立Lucene框架基础上查询器,并且支持分布式搜索,切片的策略由Lily Middleware中的Indexer部件提供。

    如图所示:

     

    废话:
           
      1.Lily相比其他一些分布式搜索工具非常简单,就算你第一次上手30分钟内,也能跑起来一个例子,有空补上一个小例子。
             2.Lily在分布式的环境中不能使用Apache的原版Hbase和Hadoop,需要使用改装过的版本,HBase是Lily自己改装的,Hadoop是Cloudera的 0.20.2+737版 。
             3.Lily为了简化开发和将来对项目的维护,在代码上使用了Spring作为集成工具。

    转自:http://www.javabloger.com/article/lily-hbase-solr-lucene-zookeeper.html

  • 相关阅读:
    【Demo 0011】多媒体播放器
    【Demo 0010】事件响应链
    【Demo 0009】表视图控制器
    【Demo 0008】标签控制器
    【Demo 0007】导航控制器
    【Demo 0006】iOS常用控件
    【Demo 0005】视图控制器
    【Demo 0004】屏幕、窗体及视图基础知识
    2019.7.16考试反思
    内网 可怜与超市题解 树形dp+合并
  • 原文地址:https://www.cnblogs.com/langke93/p/2317064.html
Copyright © 2020-2023  润新知