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


全文索引-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的背景以及介紹吧。
java



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


一、Hadoop背景


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

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

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


      在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的頂級項目,證實了它的成功、多樣化、活越性。



二、Apache Hadoop和Hadoop生態圈

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

2.一、Common

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

2.二、Arvo

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


2.三、MapReduce

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

2.四、HDFS

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

2.五、Pig

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

2.六、Hive

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

2.七、HBase

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

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

2.八、ZooKepper

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

2.九、Sqoop

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


三、興許

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

相關文章
相關標籤/搜索