1. 程式人生 > >全文索引-lucene,solr,nutch,hadoop之nutch與hadoop

全文索引-lucene,solr,nutch,hadoop之nutch與hadoop

aof java get 查詢 自己 結構 目的 strong 之間


全文索引-lucene。solr。nutch,hadoop之lucene


全文索引-lucene。solr,nutch,hadoop之solr



我在去年的時候,就想把lucene,solr。nutch和hadoop這幾個東東給具體的介紹下,但因為時間的關系。我還是僅僅寫了兩篇文章,分別介紹了一下lucene和solr,後來就沒有在寫了,但我心裏還是期待的,盡管到如今我沒有真正搞過nutch和hadoop實戰項目,但公司立即就要做hadoop大數據的監控了。我一直都說,要做一個有準備的人,因此我從去年到如今從未停止過對hadoop相關技術的學習、思考、實戰。

在去年上半年的時候。我還在我的上一家公司。有一天老總說讓我研究一下搜索引擎方面的知識(公司有seo方面的業務),於是我就從網上搜尋,最後我無意間發現了一個開源的搜索引擎的apache旗下的項目-nutch,於是乎,我就沈醉於當中。從網上找資料。搭建好開發環境(僅僅能在linux系統上)。並終於可以執行了。我從中淺淺的了解了一下搜索引擎方面的知識。可是讓我最想不到的居然是nutch居然是hadoop項目出現的原因、導火線、父項目。本來我想單獨再寫兩篇分別關於nutch和hadoop的項目。但真實須要花費非常多的個人時間。並且nutch環境並不好搭建,並且畢竟我的重點在於hadoop,因此,我在本文還是先說說nutch和hadoop的背景以及介紹吧。



Hadoop是Apache Lucene創始人Doug Cutting創建的,Lucene是一個廣泛使用的文本搜索系統Hadoop起源於Nutch,一個開源的網絡搜索引擎,它本身也是Lucene項目的一部分。


1、Hadoop背景


Nutch項目始於2002年,一個可以執行的網頁爬取工具和搜索引擎系統非常快“浮出水面”。但後來,開發者覺得這一架構可擴展度不夠。不能解決數十億網頁的搜索問題。

2003年谷歌公司發表了一篇關於谷歌分布式文件系統的文章,簡稱GFS。

GFS或相似的架構,可以解決他們在網頁爬取和索引過程中產生的超大文件的存儲需求。特別關鍵的是,GFS可以節省系統管理所花的大量時間。


在2004年,他們開始著手實現一個開源的實現。即Nutch的分布式文件系統NDFS。



2004年,谷歌發表論文向全世界介紹他們的MapReduce系統。

2005年初,Nutch的開發者在Nutch上實現了一個MapReduce系統,到年中。Nutch的全部主要算法均完畢移植,用MapReduce和NDFS來執行。



Nutch的NDFS和MapReduce實現不知適用於搜索領域。在2006年2月,開發者將NDFS和MapReduce移出Nutch形成Lucene的一個子項目,稱為Hadoop。

大約在同一時間,Doug Cutting增加雅虎,雅虎為此組織了一個專門的團隊和資源。



2008年1月,Hadoop已成為Apache的頂級項目,證明了它的成功、多樣化、活越性。



2、Apache Hadoop和Hadoop生態圈

盡管Hadoop因MapReduce和分布式文件系統HDFS而出名,但Hadoop這個名字也用於一組相關項目的統稱。例如以下:

2.1、Common

一組分布式文件系統和通用I/O組件與接口(序列化、java rpc和持久數據結構)

2.2、Arvo

一種支持高效、跨語言的RPC以及永久存儲數據的序列化系統。


2.3、MapReduce

分布式數據處理模型和執行環境。執行於大型商用集群。

2.4、HDFS

分布式文件系統,執行於大型商用集群。

2.5、Pig

一種數據流語言和執行環境。用以檢索非常大的數據集。Pig執行在MapReduce和HDFS集群上。

2.6、Hive

一個分布式、按列存儲的數據倉庫。Hive管理HDFS中存儲的數據。並提供基於SQL的查詢語言(由執行時引擎翻譯成MapReduce作業)用以查詢數據。

2.7、HBase

一個分布式、按列存儲數據庫。

HBase使用HDFS作為底層存儲,同一時候支持MapReduce的批量式計算和點查詢。

2.8、ZooKepper

一個分布式、可用性高的協調服務。ZooKepper提供分布式鎖之類的基本服務用於構建分布式應用。

2.9、Sqoop

在數據庫和HDFS之間高效數據傳輸的工具。


3、興許

盡管我去年就接觸到hadoop,並進行了一些列的學習(網上視頻和資料),但還是沒有學好,實際用起來。剛好今年公司準備設計開發大數據方面的監控。公司就給我們這些開發者買了幾本Hadoop方面的書籍,但我草草的看了一下。最後還是自己買了一本《Hadoop權威指南》。覺得還是這本書寫的比較好,我也看完了一遍,為了總結Hadoop相關知識和便於查找,我興許準備把裏面一些比較重要的知識給總結分享下,敬請期待!



全文索引-lucene,solr,nutch,hadoop之nutch與hadoop