Lily以NoSQL技术为主题,是建立在云计算上的内容仓库(content repository)。它是基于Apache的 HBase(存储)和Solr(索引/搜索),并提供了大型内容集合存储与检索的解决方案。可运用在 门户网站,内容管理系统,及时搜索,档案应用,文案管理,等等。 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 提供REST 和 API 2种方式提供客户端调用;
BTW:关于上面提到了LinkedIn的Zoie我想多数两句,Zoie跟LinkedIn的其他产品捆绑的非常紧密,导致你如果单一的使用Zoie总会觉得很变扭,而且文档非常少,那篇让人貌似惊喜的中文文档仍然不够详细,只好对Zoie望而却步了。
Lily的系统架构由4个主要的部分组成:
1.Zookeeper – 对分布式环境中的状态和配置进行管理,让Client可以知道当前有多少个工作的 Lily Node。
2.Lily Node – a)WAL(预写日志)、b)Message Queue(消息队列)、c)Indexer(索引策略)、d)Lily Repository(索引CRUD) 组成。
3.HBase -作为存储单元,最终的消息、索引、数据和二进制数据还是存储在HDFS上。
4.Solr – 建立Lucene框架基础上查询器,并且支持分布式搜索,切片的策略由Lily Middleware中的Indexer部件提供。
5.Client-客户端的访问入口基于Avro的协议(类似于PB)操作Repository,
如图所示:
废话1:
1.Lily 提供了快速入门的模拟集群工具(Minicluster),不需要搭建HBase/Hadoop/Zookeeper环境,只要有JDK你第一次上手20分钟内也能跑起来一个例子。
2.Lily 在分布式的环境中不能使用Apache的原版Hbase和Hadoop,需要使用改装过的版本,HBase是Lily自己改装的,Hadoop是Cloudera的 0.20.2+737版 。
3.Lily 为了简化开发和将来对项目的维护,在代码上使用了Spring作为集成工具。
4.Lily 考虑使用HBase和Solr作为基础平台纠结了很久,最终给出了一些依据。
废话2:
1.zookeeper作为JEE分布架构中最上层防止单点(SPFO)系统接口是不错的选择,不仅是Lily在这样做,HBase本身也是这样。
2.分布式搜索中需要异步架构的支撑,消息中间件是最佳的选择,用来对索引进行CRUD和挂起的操作。
3.对于大数量的索引合并和更新是MapReduce实战才能的时候了。
4.通过Lily项目对于HBase的使用场景又有了新的参考。
废话3:
1.Srping也对云计算的话题蠢蠢欲动,Spring Framework HBase Template 列入计划中。
2.在众多HBase ORM中pigi 算是不错的一个,使用简单,Pigi Project 。
3.JMXToolkit 可以对HBase进行监控,并且可以和Cacti、Nagios进行集成。
相关文章:
MySQL向Hive/HBase的迁移工具
HBase入门5(集群) -压力分载与失效转发
Hive入门3–Hive与HBase的整合
HBase入门篇4
HBase入门篇3
HBase入门篇2-Java操作HBase例子
HBase入门篇
基于Hbase存储的分布式消息(IM)系统-JABase
–end–
原文地址:Lily-建立在HBase上的分布式搜索, 感谢原作者分享。

标题:深入探讨Linux中建立链接文件的重要性与示例在Linux操作系统中,链接文件是一种非常有用的概念,它可以帮助用户更好地组织和管理文件系统中的数据,提高文件的可访问性和灵活性。理解如何在Linux中建立链接文件,对于系统管理员和开发人员来说是至关重要的。本文将深入探讨Linux中建立链接文件的重要性,并通过具体的代码示例来演示其用法和作用。1.什么是

使用Python做数据处理的数据科学家或数据从业者,对数据科学包pandas并不陌生,也不乏像云朵君一样的pandas重度使用者,项目开始写的第一行代码,大多是importpandasaspd。pandas做数据处理可以说是yyds!而他的缺点也是非常明显,pandas只能单机处理,它不能随数据量线性伸缩。例如,如果pandas试图读取的数据集大于一台机器的可用内存,则会因内存不足而失败。另外pandas在处理大型数据方面非常慢,虽然有像Dask或Vaex等其他库来优化提升数

MDF文件是一种常见的数据库文件格式,它是MicrosoftSQLServer数据库的主要文件之一。在数据库管理系统中,MDF文件用于保存数据库的主要数据,包括表、索引、存储过程等。建立MDF文件是创建数据库的关键步骤之一,下面将介绍一些常见的方法。使用SQLServerManagementStudio(SSMS)SQLServerManag

在主页选择加号按钮,接下来选择发起群聊,勾选要建群的联系人后完成即可。教程适用型号:iPhone13系统:IOS15.3版本:微信8.0.20解析1首先打开微信,在主页中点击右上角的加号按钮。2接下来在弹出的窗口中点击发起群聊选项。3最后在页面中勾选要建群的联系人后点击完成即可。补充:微信群聊是什么东西1微信聊天群就是腾讯企开发的一种多人聊天沟通交流的网络平台,我们可以借助互联网迅速传送语音信息、短视频、高清图片和文字内容。还可以借助微信与朋友开展形式上更为丰富多彩的类似短消息、手机彩信等形式的

随着大数据时代的到来,数据处理和存储变得越来越重要,如何高效地管理和分析大量的数据也成为企业面临的挑战。Hadoop和HBase作为Apache基金会的两个项目,为大数据存储和分析提供了一种解决方案。本文将介绍如何在Beego中使用Hadoop和HBase进行大数据存储和查询。一、Hadoop和HBase简介Hadoop是一个开源的分布式存储和计算系统,它可

随着互联网的快速发展,网站的访问量也在不断增长。为了满足这一需求,我们需要构建高可用性的系统。分布式数据中心就是这样一个系统,它将各个数据中心的负载分散到不同的服务器上,增加系统的稳定性和可扩展性。在PHP开发中,我们也可以通过一些技术实现分布式数据中心。分布式缓存分布式缓存是互联网分布式应用中最常用的技术之一。它将数据缓存在多个节点上,提高数据的访问速度和

什么是分布式计数器?在分布式系统中,多个节点之间需要对共同的状态进行更新和读取,而计数器是其中一种应用最广泛的状态之一。通俗地讲,计数器就是一个变量,每次被访问时其值就会加1或减1,用于跟踪某个系统进展的指标。而分布式计数器则指的是在分布式环境下对计数器进行操作和管理。为什么要使用Redis实现分布式计数器?随着分布式计算的普及,分布式系统中的许多细节问题也

一、Raft 概述Raft 算法是分布式系统开发首选的共识算法。比如现在流行 Etcd、Consul。如果掌握了这个算法,就可以较容易地处理绝大部分场景的容错和一致性需求。比如分布式配置系统、分布式 NoSQL 存储等等,轻松突破系统的单机限制。Raft 算法是通过一切以领导者为准的方式,实现一系列值的共识和各节点日志的一致。二、Raft 角色2.1 角色跟随者(Follower):普通群众,默默接收和来自领导者的消息,当领导者心跳信息超时的


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),