溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何使用Hadoop進(jìn)行分布式并行編程

發(fā)布時(shí)間:2021-12-04 11:49:54 來(lái)源:億速云 閱讀:273 作者:小新 欄目:開(kāi)發(fā)技術(shù)

小編給大家分享一下如何使用Hadoop進(jìn)行分布式并行編程,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

用Hadoop進(jìn)行分布式并行編程

Hadoop簡(jiǎn)介

Hadoop是一個(gè)開(kāi)源的可運(yùn)行于大規(guī)模集群上的分布式并行編程框架,由于分布式存儲(chǔ)對(duì)于分布式編程來(lái)說(shuō)是必不可少的,這個(gè)框架中還包含了一個(gè)分布式文件系統(tǒng)HDFS(HadoopDistributedFileSystem)。

也許到目前為止,Hadoop還不是那么廣為人知,其***的版本號(hào)也僅僅是0.16,距離1.0似乎都還有很長(zhǎng)的一段距離,但提及Hadoop一脈相承的另外兩個(gè)開(kāi)源項(xiàng)目Nutch和Lucene(三者的創(chuàng)始人都是DougCutting),那絕對(duì)是大名鼎鼎。Lucene是一個(gè)用Java開(kāi)發(fā)的開(kāi)源高性能全文檢索工具包,它不是一個(gè)完整的應(yīng)用程序,而是一套簡(jiǎn)單易用的API。在全世界范圍內(nèi),已有無(wú)數(shù)的軟件系統(tǒng),Web網(wǎng)站基于Lucene實(shí)現(xiàn)了全文檢索功能,后來(lái)DougCutting又開(kāi)創(chuàng)了***個(gè)開(kāi)源的Web搜索引擎(http://www.nutch.org)Nutch,它在Lucene的基礎(chǔ)上增加了網(wǎng)絡(luò)爬蟲(chóng)和一些和Web相關(guān)的功能,一些解析各類(lèi)文檔格式的插件等,此外,Nutch中還包含了一個(gè)分布式文件系統(tǒng)用于存儲(chǔ)數(shù)據(jù)。從Nutch0.8.0版本之后,DougCutting把Nutch中的分布式文件系統(tǒng)以及實(shí)現(xiàn)MapReduce算法的代碼獨(dú)立出來(lái)形成了一個(gè)新的開(kāi)源項(xiàng)Hadoop。Nutch也演化為基于Lucene全文檢索以及Hadoop分布式計(jì)算平臺(tái)的一個(gè)開(kāi)源搜索引擎。


基于Hadoop,你可以輕松地編寫(xiě)可處理海量數(shù)據(jù)的分布式并行程序,并將其運(yùn)行于由成百上千個(gè)結(jié)點(diǎn)組成的大規(guī)模計(jì)算機(jī)集群上。從目前的情況來(lái)看,Hadoop注定會(huì)有一個(gè)輝煌的未來(lái):"云計(jì)算"是目前灸手可熱的技術(shù)名詞,全球各大IT公司都在投資和推廣這種新一代的計(jì)算模式,而Hadoop又被其中幾家主要的公司用作其"云計(jì)算"環(huán)境中的重要基礎(chǔ)軟件,如:雅虎正在借助Hadoop開(kāi)源平臺(tái)的力量對(duì)抗Google,除了資助Hadoop開(kāi)發(fā)團(tuán)隊(duì)外,還在開(kāi)發(fā)基于Hadoop的開(kāi)源項(xiàng)目Pig,這是一個(gè)專(zhuān)注于海量數(shù)據(jù)集分析的分布式計(jì)算程序。Amazon公司基于Hadoop推出了AmazonS3(AmazonSimpleStorageService),提供可靠,快速,可擴(kuò)展的網(wǎng)絡(luò)存儲(chǔ)服務(wù),以及一個(gè)商用的云計(jì)算平臺(tái)AmazonEC2(AmazonElasticComputeCloud)。在IBM公司的云計(jì)算項(xiàng)目--"藍(lán)云計(jì)劃"中,Hadoop也是其中重要的基礎(chǔ)軟件。Google正在跟IBM合作,共同推廣基于Hadoop的云計(jì)算。


迎接編程方式的變革

在摩爾定律的作用下,以前程序員根本不用考慮計(jì)算機(jī)的性能會(huì)跟不上軟件的發(fā)展,因?yàn)榧s每隔18個(gè)月,CPU的主頻就會(huì)增加一倍,性能也將提升一倍,軟件根本不用做任何改變,就可以享受免費(fèi)的性能提升。然而,由于晶體管電路已經(jīng)逐漸接近其物理上的性能極限,摩爾定律在2005年左右開(kāi)始失效了,人類(lèi)再也不能期待單個(gè)CPU的速度每隔18個(gè)月就翻一倍,為我們提供越來(lái)越快的計(jì)算性能。Intel,AMD,IBM等芯片廠商開(kāi)始從多核這個(gè)角度來(lái)挖掘CPU的性能潛力,多核時(shí)代以及互聯(lián)網(wǎng)時(shí)代的到來(lái),將使軟件編程方式發(fā)生重大變革,基于多核的多線程并發(fā)編程以及基于大規(guī)模計(jì)算機(jī)集群的分布式并行編程是將來(lái)軟件性能提升的主要途徑。

許多人認(rèn)為這種編程方式的重大變化將帶來(lái)一次軟件的并發(fā)危機(jī),因?yàn)槲覀儌鹘y(tǒng)的軟件方式基本上是單指令單數(shù)據(jù)流的順序執(zhí)行,這種順序執(zhí)行十分符合人類(lèi)的思考習(xí)慣,卻與并發(fā)并行編程格格不入?;诩旱姆植际讲⑿芯幊棠軌蜃屲浖c數(shù)據(jù)同時(shí)運(yùn)行在連成一個(gè)網(wǎng)絡(luò)的許多臺(tái)計(jì)算機(jī)上,這里的每一臺(tái)計(jì)算機(jī)均可以是一臺(tái)普通的PC機(jī)。這樣的分布式并行環(huán)境的***優(yōu)點(diǎn)是可以很容易的通過(guò)增加計(jì)算機(jī)來(lái)擴(kuò)充新的計(jì)算結(jié)點(diǎn),并由此獲得不可思議的海量計(jì)算能力,同時(shí)又具有相當(dāng)強(qiáng)的容錯(cuò)能力,一批計(jì)算結(jié)點(diǎn)失效也不會(huì)影響計(jì)算的正常進(jìn)行以及結(jié)果的正確性。Google就是這么做的,他們使用了叫做MapReduce的并行編程模型進(jìn)行分布式并行編程,運(yùn)行在叫做GFS(GoogleFileSystem)的分布式文件系統(tǒng)上,為全球億萬(wàn)用戶提供搜索服務(wù)。

Hadoop實(shí)現(xiàn)了Google的MapReduce編程模型,提供了簡(jiǎn)單易用的編程接口,也提供了它自己的分布式文件系統(tǒng)HDFS,與Google不同的是,Hadoop是開(kāi)源的,任何人都可以使用這個(gè)框架來(lái)進(jìn)行并行編程。如果說(shuō)分布式并行編程的難度足以讓普通程序員望而生畏的話,開(kāi)源的Hadoop的出現(xiàn)極大的降低了它的門(mén)檻,讀完本文,你會(huì)發(fā)現(xiàn)基于Hadoop編程非常簡(jiǎn)單,無(wú)須任何并行開(kāi)發(fā)經(jīng)驗(yàn),你也可以輕松的開(kāi)發(fā)出分布式的并行程序,并讓其令人難以置信地同時(shí)運(yùn)行在數(shù)百臺(tái)機(jī)器上,然后在短時(shí)間內(nèi)完成海量數(shù)據(jù)的計(jì)算。你可能會(huì)覺(jué)得你不可能會(huì)擁有數(shù)百臺(tái)機(jī)器來(lái)運(yùn)行你的并行程序,而事實(shí)上,隨著"云計(jì)算"的普及,任何人都可以輕松獲得這樣的海量計(jì)算能力。

以上是“如何使用Hadoop進(jìn)行分布式并行編程”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI