国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Hadoop的分布式搜索引擎的研究

2018-03-26 07:14鄭睿穎王芷婷
求知導(dǎo)刊 2017年32期

鄭睿穎 王芷婷

摘 要:分布式搜索引擎是一種結(jié)合了分布式計(jì)算技術(shù)和全文搜索技術(shù)的新型信息搜索系統(tǒng)。它改變了人們獲取信息的途徑,使得人們能夠更快捷、更有效地獲取信息?,F(xiàn)在它已經(jīng)深入到網(wǎng)絡(luò)生活的每一方面,被譽(yù)為“上網(wǎng)第一站”。文章在分析當(dāng)前幾種分布式搜索引擎系統(tǒng)的基礎(chǔ)上,總結(jié)了現(xiàn)在系統(tǒng)的優(yōu)缺點(diǎn),針對(duì)現(xiàn)有系統(tǒng)的不足,提出了給予Hadoop的分布式搜索引擎。

關(guān)鍵詞:Hadoop;分布式搜索引擎;HDFS文件系統(tǒng)

中圖分類號(hào):TP391.3

文獻(xiàn)標(biāo)識(shí)碼:A

一、引言

近年來,隨著信息技術(shù)科技的進(jìn)步,人們的生活方式發(fā)生了巨大的改變,強(qiáng)大的數(shù)據(jù)信息化的世界正在逐漸包裹著每一個(gè)生活在當(dāng)下的人們。在人們的日常生活和工作中,信息的獲取途徑逐漸被網(wǎng)絡(luò)所取代,而使用者想要快速地對(duì)海量信息進(jìn)行搜索就需要應(yīng)用一定的媒介,即搜索引擎。與傳統(tǒng)的集成式搜索相比,分布式搜索引擎具有更加突出的優(yōu)勢(shì),在這種情況下,積極加強(qiáng)基于Hadoop的分布式搜索引擎研究具有重要意義。

二、基于Hadoop分布式搜索技術(shù)

Hadoop是一個(gè)由Apache基金會(huì)開發(fā)的分布式系統(tǒng)基礎(chǔ)架構(gòu),它的產(chǎn)生是建立在針對(duì)Doug Cutting和Yahoo的研究之上。Hadoop對(duì)于用戶的要求并不高,只要有一定的程序開發(fā)基礎(chǔ),即便不了解分布式底層細(xì)節(jié),用戶依然可以開發(fā)分布式程序。

Hadoop實(shí)現(xiàn)了一個(gè)分布式文件系統(tǒng)(Hadoop Distributed File System),簡(jiǎn)稱HDFS。HDFS有高容錯(cuò)性的特點(diǎn),并且設(shè)計(jì)用來部署在低廉的硬件上。而且它提供高吞吐量來訪問應(yīng)用程序的數(shù)據(jù),適合那些有著超大數(shù)據(jù)集的應(yīng)用程序。HDFS放寬了POSIX的要求,可以以流的形式訪問文件系統(tǒng)中的數(shù)據(jù)。

Hadoop的框架最核心的設(shè)計(jì)就是HDFS和MapReduce。HDFS為海量的數(shù)據(jù)提供了存儲(chǔ),而MapReduce為海量的數(shù)據(jù)提供了計(jì)算。

1.HDFS文件系統(tǒng)

開源版本在Google GFS中的體現(xiàn)就是HDFS,該分布式文件系統(tǒng)有高容錯(cuò)性,數(shù)據(jù)訪問中可以實(shí)現(xiàn)高吞吐量,能夠?qū)Ω哂?4MB的大文件進(jìn)行海量?jī)?chǔ)存。

對(duì)于一個(gè)HDFS系統(tǒng)來說,硬件故障是常有的事。一個(gè)HDFS系統(tǒng)由成百上千個(gè)存儲(chǔ)數(shù)據(jù)片段的服務(wù)器構(gòu)成,可想而知,如此龐大的組成部分是很有可能出現(xiàn)故障的,而故障所導(dǎo)致的后果就是部件失效。因此,故障的檢測(cè)和自動(dòng)快速的恢復(fù)是HDFS一個(gè)很核心的設(shè)計(jì)目標(biāo)。

在HDFS上運(yùn)行的程序是有其特定的要求的,那就是必須以流的形式訪問數(shù)據(jù)集。HDFS不能進(jìn)行用戶交互,其處理文件的方式是批量處理。它的特點(diǎn)體現(xiàn)在數(shù)據(jù)吞吐量上,但對(duì)于數(shù)據(jù)訪問的反應(yīng)時(shí)間并沒有做過多要求。

HDFS文件系統(tǒng)還有一個(gè)顯著的特點(diǎn),即大數(shù)據(jù)集。在HDFS上運(yùn)行的應(yīng)用程序都是擁有著大量數(shù)據(jù)的。通常情況下,HDFS文件大小為GB級(jí)到TB級(jí)。HDFS提供的空間是相當(dāng)大的,一個(gè)集群中不僅能支持?jǐn)?shù)百個(gè)節(jié)點(diǎn),還可以支持千萬級(jí)別的文件。

2.MapReduce模型

MapReduce是一種編程模型,在2004年由Google Allo實(shí)驗(yàn)室提出。它的功能是作用在集群上,對(duì)海量的數(shù)據(jù)進(jìn)行并行處理。在Google內(nèi)部,MapReduce的應(yīng)用非常廣泛,其中包括分布grep、分布排序web訪問日志分析、反向索引構(gòu)建、文檔聚類、機(jī)器學(xué)習(xí)和基于統(tǒng)計(jì)的機(jī)器翻譯等。甚至,在MapReduce得到實(shí)現(xiàn)之后,它被用來重新生成了Google的整個(gè)索引。由此可見,MapReduce具有非常高的性能。

最簡(jiǎn)單的MapReduce應(yīng)用程序,至少要包括三個(gè)部分:一個(gè)Map函數(shù),一個(gè)Reduce函數(shù),一個(gè)main函數(shù)。其中,Main函數(shù)的功能是將作業(yè)控制和輸入/輸出結(jié)合起來。Hadoop為其提供了大量接口,從而為Hadoop應(yīng)用程序程序員提供了許多工具,使得操作更方便。另外兩個(gè)函數(shù)就是這個(gè)模型的核心操作。Map和Reduce函數(shù)實(shí)際上處理的都是大量像這樣的簡(jiǎn)單數(shù)據(jù)類型。在模型中首先對(duì)輸入的數(shù)據(jù)進(jìn)行分割,將分割后的數(shù)據(jù)分配給Map函數(shù),然后Map把分配到的數(shù)據(jù)映射為另外一種的中間數(shù)據(jù),它的映射規(guī)則由一個(gè)函數(shù)指定。Reduce則是對(duì)Map輸出的中間數(shù)據(jù)進(jìn)行歸約并輸出結(jié)果,而歸約的規(guī)則也是由另一個(gè)函數(shù)指定。這兩項(xiàng)操作規(guī)則均可由程序設(shè)計(jì)人員指定,也正是因?yàn)檫@一點(diǎn)的存在給了MapReduce模型巨大的靈活性。其執(zhí)行流程圖如下所示。

三、分布式引擎的設(shè)計(jì)與實(shí)現(xiàn)

分布式搜索有三個(gè)子系統(tǒng),分別是爬行子系統(tǒng)、索引子系統(tǒng)、查詢子系統(tǒng)。系統(tǒng)中利用了MapReduce模型的優(yōu)點(diǎn),將上述的三個(gè)子系統(tǒng)設(shè)計(jì)成分布式系統(tǒng)。下面對(duì)這三個(gè)子系統(tǒng)進(jìn)行分析。

(1)分布式爬行子系統(tǒng)。其主要功能是對(duì)網(wǎng)頁數(shù)據(jù)進(jìn)行抓取,并進(jìn)行分析提取鏈接,生成的鏈接列表為下一次爬行做準(zhǔn)備。爬行子系統(tǒng)設(shè)計(jì)的核心就是任務(wù)調(diào)度,其所有的爬行器統(tǒng)一由JobTracker負(fù)責(zé)調(diào)度。

(2)分布式索引子系統(tǒng)。其主要負(fù)責(zé)的就是計(jì)算網(wǎng)頁的PageRank值,倒排文檔的構(gòu)建,以及索引文件的分布式存儲(chǔ)。此系統(tǒng)為整個(gè)搜索引擎的核心。

(3)分布式查詢子系統(tǒng)。主要負(fù)責(zé)的是響應(yīng)用戶查詢請(qǐng)求并向用戶返回查詢結(jié)果。查詢子系統(tǒng)采用的也是MapReduce模型設(shè)計(jì),將Tomcat作為Web服務(wù)器,使用Jsp/Servlet技術(shù)于用戶進(jìn)行交互。

四、結(jié)語

在這個(gè)數(shù)字信息化大時(shí)代,在社會(huì)運(yùn)行過程中都會(huì)產(chǎn)生大量數(shù)據(jù)。如何對(duì)這些海量數(shù)據(jù)進(jìn)行處理、操作,對(duì)用戶的要求提出響應(yīng),是我們要一直探索和不斷研究的。那么,基于Hadoop的分布式搜索引擎的研究就具有重大的意義了。

參考文獻(xiàn):

[1]范晨熙.基于Hadoop的搜索引擎的研究與應(yīng)用[D].杭州:浙江理工大學(xué),2013.

[2]王振宇,郭 力.基于Hadoop的搜索引擎用戶行為分析[J].計(jì)算機(jī)工程與科學(xué),2011,33(4):115-120.

[3]萬 軼.基于Hadoop的搜索引擎關(guān)鍵技術(shù)研究[D].武漢:武漢理工大學(xué),2015.

[4]陳 寧,柴向陽,孫 勇.基于Hadoop的海運(yùn)業(yè)分布式搜索引擎的應(yīng)用研究[J].西安工程大學(xué)學(xué)報(bào),2015(1):73-77.

[5]余 紅.基于Hadoop的分布式搜索引擎研究[D].北京:北京師范大學(xué),2012.

[6]王俊生,施運(yùn)梅,張仰森.基于Hadoop的分布式搜索引擎關(guān)鍵技術(shù)[J].北京信息科技大學(xué)學(xué)報(bào)(自然科學(xué)版),2011,26(4):53-56.