国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区

掃一掃
關(guān)注微信公眾號(hào)

使用Linux 和Hadoop進(jìn)行分布式計(jì)算
2009-04-24   e800網(wǎng)站

人們每天都依賴(lài)搜索引擎以從 Internet 的海量數(shù)據(jù)中找到特定的內(nèi)容,但您曾經(jīng)想過(guò)這些搜索是如何執(zhí)行的嗎?一種方法是 Apache 的 Hadoop,它是一個(gè)能夠?qū)A繑?shù)據(jù)進(jìn)行分布式處理的軟件框架。Hadoop 的一個(gè)應(yīng)用是并行索引 Internet Web 頁(yè)面。Hadoop 是一個(gè)受到 Yahoo!、Google 和 IBM 等公司支持的 Apache 項(xiàng)目。本文將介紹 Hadoop 框架,并展示它為什么是最重要的基于 Linux? 的分布式計(jì)算框架之一。

Hadoop 由 Apache Software Foundation 公司于 2005 年秋天作為 Lucene 的子項(xiàng)目 Nutch 的一部分正式引入。它受到最先由 Google Lab 開(kāi)發(fā)的 MapReduce 和 Google File System 的啟發(fā)。2006 年 3 月份,MapReduce 和 Nutch Distributed File System (NDFS) 分別被納入稱(chēng)為 Hadoop 的項(xiàng)目中。

Hadoop 是最受歡迎的在 Internet 上對(duì)搜索關(guān)鍵字進(jìn)行內(nèi)容分類(lèi)的工具,但它也可以解決許多要求極大伸縮性的問(wèn)題。例如,如果您要 grep 一個(gè) 10TB 的巨型文件,會(huì)出現(xiàn)什么情況?在傳統(tǒng)的系統(tǒng)上,這將需要很長(zhǎng)的時(shí)間。但是 Hadoop 在設(shè)計(jì)時(shí)就考慮到這些問(wèn)題,因此能大大提高效率。

先決條件

Hadoop 是一個(gè)能夠?qū)Υ罅繑?shù)據(jù)進(jìn)行分布式處理的軟件框架。但是 Hadoop 是以一種可靠、高效、可伸縮的方式進(jìn)行處理的。Hadoop 是可靠的,因?yàn)樗僭O(shè)計(jì)算元素和存儲(chǔ)會(huì)失敗,因此它維護(hù)多個(gè)工作數(shù)據(jù)副本,確保能夠針對(duì)失敗的節(jié)點(diǎn)重新分布處理。Hadoop 是高效的,因?yàn)樗圆⑿械姆绞焦ぷ鳎ㄟ^(guò)并行處理加快處理速度。Hadoop 還是可伸縮的,能夠處理 PB 級(jí)數(shù)據(jù)。此外,Hadoop 依賴(lài)于社區(qū)服務(wù)器,因此它的成本比較低,任何人都可以使用。

您可能已經(jīng)想到,Hadoop 運(yùn)行在 Linux 生產(chǎn)平臺(tái)上是非常理想的,因?yàn)樗鼛в杏?Java? 語(yǔ)言編寫(xiě)的框架。Hadoop 上的應(yīng)用程序也可以使用其他語(yǔ)言編寫(xiě),比如 C++。

Hadoop 架構(gòu)

Hadoop 有許多元素構(gòu)成。最底部是 Hadoop Distributed File System(HDFS),它存儲(chǔ) Hadoop 集群中所有存儲(chǔ)節(jié)點(diǎn)上的文件。HDFS(對(duì)于本文)的上一層是 MapReduce 引擎,該引擎由 JobTrackers 和 TaskTrackers 組成。

HDFS

對(duì)外部客戶機(jī)而言,HDFS 就像一個(gè)傳統(tǒng)的分級(jí)文件系統(tǒng)。可以創(chuàng)建、刪除、移動(dòng)或重命名文件,等等。但是 HDFS 的架構(gòu)是基于一組特定的節(jié)點(diǎn)構(gòu)建的(參見(jiàn)圖 1),這是由它自身的特點(diǎn)決定的。這些節(jié)點(diǎn)包括 NameNode(僅一個(gè)),它在 HDFS 內(nèi)部提供元數(shù)據(jù)服務(wù);DataNode,它為 HDFS 提供存儲(chǔ)塊。由于僅存在一個(gè) NameNode,因此這是 HDFS 的一個(gè)缺點(diǎn)(單點(diǎn)失敗)。

圖 1. Hadoop 集群的簡(jiǎn)化視圖

 

存儲(chǔ)在 HDFS 中的文件被分成塊,然后將這些塊復(fù)制到多個(gè)計(jì)算機(jī)中(DataNode)。這與傳統(tǒng)的 RAID 架構(gòu)大不相同。塊的大小(通常為 64MB)和復(fù)制的塊數(shù)量在創(chuàng)建文件時(shí)由客戶機(jī)決定。NameNode 可以控制所有文件操作。HDFS 內(nèi)部的所有通信都基于標(biāo)準(zhǔn)的 TCP/IP 協(xié)議

NameNode

NameNode 是一個(gè)通常在 HDFS 實(shí)例中的單獨(dú)機(jī)器上運(yùn)行的軟件。它負(fù)責(zé)管理文件系統(tǒng)名稱(chēng)空間和控制外部客戶機(jī)的訪問(wèn)。NameNode 決定是否將文件映射到 DataNode 上的復(fù)制塊上。對(duì)于最常見(jiàn)的 3 個(gè)復(fù)制塊,第一個(gè)復(fù)制塊存儲(chǔ)在同一機(jī)架的不同節(jié)點(diǎn)上,最后一個(gè)復(fù)制塊存儲(chǔ)在不同機(jī)架的某個(gè)節(jié)點(diǎn)上。注意,這里需要您了解集群架構(gòu)。

實(shí)際的 I/O 事務(wù)并沒(méi)有經(jīng)過(guò) NameNode,只有表示 DataNode 和塊的文件映射的元數(shù)據(jù)經(jīng)過(guò) NameNode。當(dāng)外部客戶機(jī)發(fā)送請(qǐng)求要求創(chuàng)建文件時(shí),NameNode 會(huì)以塊標(biāo)識(shí)和該塊的第一個(gè)副本的 DataNode IP 地址作為響應(yīng)。這個(gè) NameNode 還會(huì)通知其他將要接收該塊的副本的 DataNode。

NameNode 在一個(gè)稱(chēng)為 FsImage 的文件中存儲(chǔ)所有關(guān)于文件系統(tǒng)名稱(chēng)空間的信息。這個(gè)文件和一個(gè)包含所有事務(wù)的記錄文件(這里是 EditLog)將存儲(chǔ)在 NameNode 的本地文件系統(tǒng)上。FsImage 和 EditLog 文件也需要復(fù)制副本,以防文件損壞或 NameNode 系統(tǒng)丟失。

DataNode

NameNode 也是一個(gè)通常在 HDFS 實(shí)例中的單獨(dú)機(jī)器上運(yùn)行的軟件。Hadoop 集群包含一個(gè) NameNode 和大量 DataNode。DataNode 通常以機(jī)架的形式組織,機(jī)架通過(guò)一個(gè)交換機(jī)將所有系統(tǒng)連接起來(lái)。Hadoop 的一個(gè)假設(shè)是:機(jī)架內(nèi)部節(jié)點(diǎn)之間的傳輸速度快于機(jī)架間節(jié)點(diǎn)的傳輸速度。

DataNode 響應(yīng)來(lái)自 HDFS 客戶機(jī)的讀寫(xiě)請(qǐng)求。它們還響應(yīng)創(chuàng)建、刪除和復(fù)制來(lái)自 NameNode 的塊的命令。NameNode 依賴(lài)來(lái)自每個(gè) DataNode 的定期心跳(heartbeat)消息。每條消息都包含一個(gè)塊報(bào)告,NameNode 可以根據(jù)這個(gè)報(bào)告驗(yàn)證塊映射和其他文件系統(tǒng)元數(shù)據(jù)。如果 DataNode 不能發(fā)送心跳消息,NameNode 將采取修復(fù)措施,重新復(fù)制在該節(jié)點(diǎn)上丟失的塊。

文件操作

可見(jiàn),HDFS 并不是一個(gè)萬(wàn)能的文件系統(tǒng)。它的主要目的是支持以流的形式訪問(wèn)寫(xiě)入的大型文件。如果客戶機(jī)想將文件寫(xiě)到 HDFS 上,首先需要將該文件緩存到本地的臨時(shí)存儲(chǔ)。如果緩存的數(shù)據(jù)大于所需的 HDFS 塊大小,創(chuàng)建文件的請(qǐng)求將發(fā)送給 NameNode。NameNode 將以 DataNode 標(biāo)識(shí)和目標(biāo)塊響應(yīng)客戶機(jī)。同時(shí)也通知將要保存文件塊副本的 DataNode。當(dāng)客戶機(jī)開(kāi)始將臨時(shí)文件發(fā)送給第一個(gè) DataNode 時(shí),將立即通過(guò)管道方式將塊內(nèi)容轉(zhuǎn)發(fā)給副本 DataNode。客戶機(jī)也負(fù)責(zé)創(chuàng)建保存在相同 HDFS 名稱(chēng)空間中的校驗(yàn)和(checksum)文件。在最后的文件塊發(fā)送之后,NameNode 將文件創(chuàng)建提交到它的持久化元數(shù)據(jù)存儲(chǔ)(在 EditLog 和 FsImage 文件)。

Linux 集群

Hadoop 框架可在單一的 Linux 平臺(tái)上使用(開(kāi)發(fā)和調(diào)試時(shí)),但是使用存放在機(jī)架上的商業(yè)服務(wù)器才能發(fā)揮它的力量。這些機(jī)架組成一個(gè) Hadoop 集群。它通過(guò)集群拓?fù)渲R(shí)決定如何在整個(gè)集群中分配作業(yè)和文件。Hadoop 假定節(jié)點(diǎn)可能失敗,因此采用本機(jī)方法處理單個(gè)計(jì)算機(jī)甚至所有機(jī)架的失敗。

Hadoop 應(yīng)用程序

Hadoop 的最常見(jiàn)用法之一是 Web 搜索。雖然它不是惟一的軟件框架應(yīng)用程序,但作為一個(gè)并行數(shù)據(jù)處理引擎,它的表現(xiàn)非常突出。Hadoop 最有趣的方面之一是 Map and Reduce 流程,它受到 Google 開(kāi)發(fā)的啟發(fā)。這個(gè)流程稱(chēng)為創(chuàng)建索引,它將 Web 爬行器檢索到的文本 Web 頁(yè)面作為輸入,并且將這些頁(yè)面上的單詞的頻率報(bào)告作為結(jié)果。然后可以在整個(gè) Web 搜索過(guò)程中使用這個(gè)結(jié)果從已定義的搜索參數(shù)中識(shí)別內(nèi)容。

MapReduce

最簡(jiǎn)單的 MapReduce 應(yīng)用程序至少包含 3 個(gè)部分:一個(gè) Map 函數(shù)、一個(gè) Reduce 函數(shù)和一個(gè) main 函數(shù)。main 函數(shù)將作業(yè)控制和文件輸入/輸出結(jié)合起來(lái)。在這點(diǎn)上,Hadoop 提供了大量的接口和抽象類(lèi),從而為 Hadoop 應(yīng)用程序開(kāi)發(fā)人員提供許多工具,可用于調(diào)試和性能度量等。

MapReduce 本身就是用于并行處理大數(shù)據(jù)集的軟件框架。MapReduce 的根源是函數(shù)性編程中的 map 和 reduce 函數(shù)。它由兩個(gè)可能包含有許多實(shí)例(許多 Map 和 Reduce)的操作組成。Map 函數(shù)接受一組數(shù)據(jù)并將其轉(zhuǎn)換為一個(gè)鍵/值對(duì)列表,輸入域中的每個(gè)元素對(duì)應(yīng)一個(gè)鍵/值對(duì)。Reduce 函數(shù)接受 Map 函數(shù)生成的列表,然后根據(jù)它們的鍵(為每個(gè)鍵生成一個(gè)鍵/值對(duì))縮小鍵/值對(duì)列表。

這里提供一個(gè)示例,幫助您理解它。假設(shè)輸入域是 one small step for man, one giant leap for mankind。在這個(gè)域上運(yùn)行 Map 函數(shù)將得出以下的鍵/值對(duì)列表:

(one, 1) (small, 1) (step, 1) (for, 1) (man, 1)
(one, 1) (giant, 1) (leap, 1) (for, 1) (mankind, 1)


如果對(duì)這個(gè)鍵/值對(duì)列表應(yīng)用 Reduce 函數(shù),將得到以下一組鍵/值對(duì):

(one, 2) (small, 1) (step, 1) (for, 2) (man, 1)
(giant, 1) (leap, 1) (mankind, 1)


結(jié)果是對(duì)輸入域中的單詞進(jìn)行計(jì)數(shù),這無(wú)疑對(duì)處理索引十分有用。但是,現(xiàn)在假設(shè)有兩個(gè)輸入域,第一個(gè)是 one small step for man,第二個(gè)是 one giant leap for mankind。您可以在每個(gè)域上執(zhí)行 Map 函數(shù)和 Reduce 函數(shù),然后將這兩個(gè)鍵/值對(duì)列表應(yīng)用到另一個(gè) Reduce 函數(shù),這時(shí)得到與前面一樣的結(jié)果。換句話說(shuō),可以在輸入域并行使用相同的操作,得到的結(jié)果是一樣的,但速度更快。這便是 MapReduce 的威力;它的并行功能可在任意數(shù)量的系統(tǒng)上使用。圖 2 以區(qū)段和迭代的形式演示這種思想。

圖 2. MapReduce 流程的概念流
 

現(xiàn)在回到 Hadoop 上,它是如何實(shí)現(xiàn)這個(gè)功能的?一個(gè)代表客戶機(jī)在單個(gè)主系統(tǒng)上啟動(dòng)的 MapReduce 應(yīng)用程序稱(chēng)為 JobTracker。類(lèi)似于 NameNode,它是 Hadoop 集群中惟一負(fù)責(zé)控制 MapReduce 應(yīng)用程序的系統(tǒng)。在應(yīng)用程序提交之后,將提供包含在 HDFS 中的輸入和輸出目錄。JobTracker 使用文件塊信息(物理量和位置)確定如何創(chuàng)建其他 TaskTracker 從屬任務(wù)。MapReduce 應(yīng)用程序被復(fù)制到每個(gè)出現(xiàn)輸入文件塊的節(jié)點(diǎn)。將為特定節(jié)點(diǎn)上的每個(gè)文件塊創(chuàng)建一個(gè)惟一的從屬任務(wù)。每個(gè) TaskTracker 將狀態(tài)和完成信息報(bào)告給 JobTracker。圖 3 顯示一個(gè)示例集群中的工作分布。

圖 3. 顯示處理和存儲(chǔ)的物理分布的 Hadoop 集群
 

Hadoop 的這個(gè)特點(diǎn)非常重要,因?yàn)樗](méi)有將存儲(chǔ)移動(dòng)到某個(gè)位置以供處理,而是將處理移動(dòng)到存儲(chǔ)。這通過(guò)根據(jù)集群中的節(jié)點(diǎn)數(shù)調(diào)節(jié)處理,因此支持高效的數(shù)據(jù)處理。

熱詞搜索:

上一篇:Linux系統(tǒng)Qmail郵件服務(wù)器安裝過(guò)程解析
下一篇:如何使用Veritas軟件完善管理

分享到: 收藏
国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区
蜜臀久久99精品久久久久宅男| 国产91色综合久久免费分享| 成人免费视频app| 欧美videos中文字幕| 午夜视频在线观看一区| 99久久99久久久精品齐齐| 久久精品人人做人人爽人人| 免费在线看成人av| 欧美亚洲另类激情小说| 亚洲网友自拍偷拍| 欧美性生活久久| 夜夜嗨av一区二区三区四季av| 粉嫩嫩av羞羞动漫久久久| 久久久久久影视| 国产成人无遮挡在线视频| 久久婷婷成人综合色| 精品伊人久久久久7777人| 中文字幕乱码久久午夜不卡| 国产一区二区久久| 亚洲免费观看在线观看| 成人免费高清在线观看| 国产精品女同互慰在线看| 国产成人午夜精品5599 | 国产成人免费9x9x人网站视频| 久久久久久久久久久电影| 成人av在线一区二区| 亚洲精品免费一二三区| 色综合中文字幕国产 | 丝袜国产日韩另类美女| 欧美mv日韩mv国产网站| 91在线观看一区二区| 亚洲人成亚洲人成在线观看图片| 成人看片黄a免费看在线| 丝袜亚洲精品中文字幕一区| 日韩情涩欧美日韩视频| 国产黄色精品网站| 亚洲精品一二三| 国产欧美一区二区在线| 在线观看视频一区二区| 成人免费看黄yyy456| 日本成人在线视频网站| 亚洲一区精品在线| 久久久久久久久免费| 欧美日韩在线播放一区| 国产成人亚洲综合a∨婷婷| 婷婷开心久久网| 国产三级三级三级精品8ⅰ区| 欧美一级欧美三级| 欧美无砖砖区免费| 91免费国产视频网站| 精品一区二区三区蜜桃| 亚洲黄色性网站| 国产片一区二区三区| 日韩你懂的电影在线观看| 日本韩国视频一区二区| 欧美色手机在线观看| 色综合久久综合网| 91免费看片在线观看| 99re66热这里只有精品3直播 | 亚洲国产综合视频在线观看| 国产精品女同一区二区三区| 久久青草国产手机看片福利盒子| av不卡在线播放| 国产剧情av麻豆香蕉精品| 久久九九久久九九| 欧美哺乳videos| 久久综合五月天婷婷伊人| 91精品国产综合久久精品性色| 91色九色蝌蚪| 欧美日韩精品一区二区三区| 欧美日韩国产乱码电影| 欧美日韩国产一级片| 这里是久久伊人| 欧美成人一级视频| 国产精品国产三级国产aⅴ无密码| 中文字幕高清一区| 亚洲资源中文字幕| 麻豆91在线观看| av毛片久久久久**hd| 91丨九色丨蝌蚪富婆spa| 91久久精品一区二区二区| 欧美日韩中文国产| 久久精品视频在线看| 一区二区三区欧美久久| 美女国产一区二区三区| 91日韩一区二区三区| 91精品国产一区二区三区蜜臀 | 久久国产精品无码网站| 国产乱子伦一区二区三区国色天香| 国产麻豆精品视频| 在线播放91灌醉迷j高跟美女 | proumb性欧美在线观看| 欧美日韩国产综合一区二区 | 亚洲资源中文字幕| 91亚洲国产成人精品一区二三| 日韩一卡二卡三卡四卡| 亚洲一区日韩精品中文字幕| 国产综合色视频| 欧美一卡二卡三卡| 亚洲 欧美综合在线网络| 色悠久久久久综合欧美99| 夜夜爽夜夜爽精品视频| 高清av一区二区| 久久午夜色播影院免费高清| 国产麻豆视频精品| 欧美videossexotv100| 麻豆一区二区三| 精品国产免费久久| 爽爽淫人综合网网站| 欧美日韩免费一区二区三区视频| 中文字幕在线播放不卡一区| 不卡av在线免费观看| 日韩毛片视频在线看| av在线不卡网| 亚洲欧洲一区二区在线播放| 色综合天天综合网天天看片| 亚洲视频一区二区在线| 欧洲在线/亚洲| 偷拍亚洲欧洲综合| 精品美女在线播放| 成人美女视频在线观看18| 亚洲视频一区二区在线观看| 色999日韩国产欧美一区二区| 亚洲小少妇裸体bbw| 欧美一三区三区四区免费在线看| 亚洲成人午夜影院| 日韩欧美国产不卡| 国产91精品露脸国语对白| 亚洲成av人影院| 久久久三级国产网站| 99久久免费视频.com| 婷婷中文字幕综合| 国产精品色婷婷久久58| 欧美日韩一本到| 白白色 亚洲乱淫| 日韩高清不卡一区| 日本欧美一区二区| 中文字幕乱码一区二区免费| 日韩精品一区二区三区在线 | 国产日产欧美一区二区三区| 色婷婷综合久久久久中文| 国产二区国产一区在线观看| 亚洲永久免费av| 亚洲欧洲国产专区| 欧美不卡视频一区| 555夜色666亚洲国产免| 成人手机在线视频| 99久久久无码国产精品| 首页国产欧美久久| 亚洲猫色日本管| 中文字幕不卡一区| 久久尤物电影视频在线观看| 欧美夫妻性生活| 欧美亚日韩国产aⅴ精品中极品| 久久精品国产一区二区三区免费看 | 亚洲成人动漫av| 亚洲乱码国产乱码精品精可以看| 欧美高清在线一区二区| 久久精品一二三| 中文字幕中文字幕一区| 欧美激情综合网| 亚洲私人影院在线观看| 国产欧美精品一区二区三区四区 | 日本va欧美va精品发布| 国内精品伊人久久久久av影院| 久久国产视频网| 国产盗摄精品一区二区三区在线 | 青青国产91久久久久久| 亚洲成av人片| 精品一区二区在线观看| 国产精品一区二区三区四区| va亚洲va日韩不卡在线观看| 欧美视频一区二区三区四区| 欧美一区二区三区四区在线观看| 91精品欧美福利在线观看| 日韩欧美国产电影| 中文字幕中文字幕一区| 免费成人av在线| 成人一区二区三区中文字幕| 欧美亚洲国产一区在线观看网站 | 日韩欧美精品三级| 国产精品久久久久久久久搜平片| 亚洲精品国产精品乱码不99| 免费成人你懂的| 91福利国产成人精品照片| 精品亚洲成a人在线观看| 99re成人在线| 国产精品久久久久久久久免费樱桃| 亚洲男人天堂一区| 国产精品99久久久久久似苏梦涵 | 99精品久久只有精品| 欧美老人xxxx18| 中文字幕日韩一区二区| 狠狠色丁香久久婷婷综| 欧美在线看片a免费观看| 国产女人aaa级久久久级| 另类专区欧美蜜桃臀第一页| av午夜一区麻豆| 亚洲男人的天堂一区二区 | 一区二区三区日韩欧美精品|