全文索引-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的背景以及介紹吧。
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相關知識和便於查詢,我後續準備把裡面一些比較重要的知識給總結分享下,敬請期待!
相關文章
- Nutch外掛系統
- nutch2.2.1安裝部署
- Nutch教程——準備篇 by 逼格DATA
- 搜尋引擎Nutch 0.7.2 試用筆記筆記
- hadoop異構儲存+lucene索引Hadoop索引
- Nutch入門教程,第一部分
- 【Lucene&&Solr】Lucene索引和搜尋流程Solr索引
- hadoop之 hadoop用途方向Hadoop
- 【Lucene&&Solr】Windows搭建solr伺服器SolrWindows伺服器
- hadoop之 hadoop 機架感知Hadoop
- hadoop 之Hadoop生態系統Hadoop
- hadoop之 HDFS-Hadoop存檔Hadoop
- 從0到1完成nutch分散式爬蟲專案實戰分散式爬蟲
- Nutch:從搜尋引擎到網路爬蟲---分享公開課爬蟲
- Hadoop演進與Hadoop生態Hadoop
- hadoop之 hadoop日誌存放路徑Hadoop
- hadoop之 Hadoop 2.x HA 、FederationHadoop
- Hive之 hive與hadoop的聯絡HiveHadoop
- Hadoop實戰-中高階部分 之 Hadoop 管理Hadoop
- Hadoop(一)Hadoop核心架構與安裝Hadoop架構
- 從零自學Hadoop(10):Hadoop1.x與Hadoop2.xHadoop
- hadoop之 Hadoop1.x和Hadoop2.x構成對比Hadoop
- Hadoop實戰-中高階部分 之 Hadoop RPCHadoopRPC
- 大資料時代之hadoop(一):hadoop安裝大資料Hadoop
- 小丸子學Hadoop系列之——部署Hadoop叢集Hadoop
- Hadoop技巧(04):簡易處理solr date 時區問題HadoopSolr
- Apache Lucene 4.1 和Apache Solr 4.1 釋出ApacheSolr
- 大資料時代之hadoop(二):hadoop指令碼解析大資料Hadoop指令碼
- hadoop學習之hadoop完全分散式叢集安裝Hadoop分散式
- hadoop之 心跳時間與冗餘快清除Hadoop
- Hadoop2.6.0從入門到精通系列之Hadoop 單節點安裝與配置Hadoop
- Hadoop1.x與Hadoop2的區別Hadoop
- Hadoop面試題之HDFSHadoop面試題
- Hadoop面試題之MapReduceHadoop面試題
- Hadoop原理之——HDFS原理Hadoop
- Hadoop之 Balancer平衡速度Hadoop
- Hadoop入門(一)之Hadoop偽分散式環境搭建Hadoop分散式
- Hadoop與Spark關係HadoopSpark