《基于新信息技術(shù)的Hadoop大數(shù)據(jù)技術(shù)》 課件 項目4-6 Zooeeper分布式協(xié)調(diào)服務(wù)、搭建HDFS分布式集群、搭建YARN分布式集群_第1頁
《基于新信息技術(shù)的Hadoop大數(shù)據(jù)技術(shù)》 課件 項目4-6 Zooeeper分布式協(xié)調(diào)服務(wù)、搭建HDFS分布式集群、搭建YARN分布式集群_第2頁
《基于新信息技術(shù)的Hadoop大數(shù)據(jù)技術(shù)》 課件 項目4-6 Zooeeper分布式協(xié)調(diào)服務(wù)、搭建HDFS分布式集群、搭建YARN分布式集群_第3頁
《基于新信息技術(shù)的Hadoop大數(shù)據(jù)技術(shù)》 課件 項目4-6 Zooeeper分布式協(xié)調(diào)服務(wù)、搭建HDFS分布式集群、搭建YARN分布式集群_第4頁
《基于新信息技術(shù)的Hadoop大數(shù)據(jù)技術(shù)》 課件 項目4-6 Zooeeper分布式協(xié)調(diào)服務(wù)、搭建HDFS分布式集群、搭建YARN分布式集群_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

Hadoop大數(shù)據(jù)技術(shù)——Zookeeper分布式協(xié)調(diào)服務(wù)湖南軟件職業(yè)技術(shù)大學(xué)Zookeeper架構(gòu)設(shè)計與工作原理定義:zookeeper一個分布式的開源的協(xié)調(diào)服務(wù)框架,服務(wù)于分布式應(yīng)用。它暴露了一系列的原語操作服務(wù),因此分布式應(yīng)用能夠基于這些服務(wù),構(gòu)建出更高級別的服務(wù),比如同步,配置管理,分組和命名服務(wù)。zookeeperzookeeper設(shè)計上易于編碼,數(shù)據(jù)模型構(gòu)建在我們熟悉的樹形結(jié)構(gòu)目錄風(fēng)格的文件系統(tǒng)中。zookeeper運行在Java中,同時支持Java和C語言。Zookeeper是什么湖南軟件職業(yè)技術(shù)大學(xué)最終一致性客戶端不論連接到哪個Server,展示給它的都是同一個視圖,這是Zookeeper最重要的特點。Zookeeper的特點可靠性Zookeeper具有簡單、健壯、良好的性能。如果一條消息被一臺服務(wù)器接收,那么它將被所有的服務(wù)器接收。實時性Zookeeper保證客戶端將在一個時間間隔范圍內(nèi),獲得服務(wù)器的更新信息或者服務(wù)器失效的信息。但由于網(wǎng)絡(luò)延時等原因,Zookeeper不能保證兩個客戶端能同時得到剛更新的數(shù)據(jù),如果需要最新數(shù)據(jù),應(yīng)該在讀數(shù)據(jù)之前調(diào)用sync()接口。等待無關(guān)慢的或者失效的客戶端不得干預(yù)快速的客戶端的請求,這就使得每個客戶端都能有效地等待。原子性對Zookeeper的更新操作要么成功,要么失敗,沒有中間狀態(tài)。順序性它包括全局有序和偏序兩種。全局有序是針對服務(wù)器端,例如,在一臺服務(wù)器上,消息A在消息B前發(fā)布,那么所有服務(wù)器上的消息A都將在消息B前被發(fā)布。偏序是針對客戶端,例如,在同一個客戶端中,消息B在消息A后發(fā)布,那么執(zhí)行的順序必將是先執(zhí)行消息A然后在是消息B。所有的更新操作都有嚴格的偏序關(guān)系,更新操作都是串行執(zhí)行的,這一點是保證ZooKeeper功能正確性的關(guān)鍵。。Zookeeper的基本架構(gòu)與工作原理

Zookeeper服務(wù)自身組成一個集群(2n+1個服務(wù)節(jié)點最多允許n個失效)。Zookeeper服務(wù)有兩個角色:一個是主節(jié)點(Leader),負責投票的發(fā)起和決議,更新系統(tǒng)狀態(tài);另一種是從節(jié)點(Follower),用于接收客戶端請求并向客戶端返回結(jié)果,在選主過程(即選擇主節(jié)點的過程)中參與投票。主節(jié)點失效后,會在從節(jié)點中重新選舉新的主節(jié)點。湖南軟件職業(yè)技術(shù)大學(xué)Zookeeper數(shù)據(jù)模型

zookeeper的數(shù)據(jù)結(jié)構(gòu)與linux文件系統(tǒng)很類似,與Linux中的文件系統(tǒng)路徑不同。

Zookeeper中的路徑必須是絕對路徑,而且每條路徑只有唯一的一種表示方式(/app1/a)。湖南軟件職業(yè)技術(shù)大學(xué)節(jié)點類型當創(chuàng)建臨時節(jié)點的客戶端會話結(jié)束時,Zookeeper會將該臨時節(jié)點刪除。臨時節(jié)點不可以有子節(jié)點,即使是短暫的子節(jié)點。持久節(jié)點不依賴與客戶端會話,只有當客戶端明確要刪除該持久節(jié)點時才會被真正刪除。臨時節(jié)點Zookeeper數(shù)據(jù)模型Znode的類型在創(chuàng)建時就確定,之后不能修改。持久節(jié)點湖南軟件職業(yè)技術(shù)大學(xué)Zookeeper數(shù)據(jù)模型

觀察機制客戶端可以在znode上設(shè)置watcher,當節(jié)點狀態(tài)發(fā)生改變時將會觸發(fā)watcher所對應(yīng)的操作。當watcher被觸發(fā)時,ZooKeeper將會向客戶端發(fā)送且僅發(fā)送一條通知,因為watcher只能被觸發(fā)一次,這樣可以減少網(wǎng)絡(luò)流量。為了能夠多次收到通知,客戶端需要重新注冊所需的watcher。湖南軟件職業(yè)技術(shù)大學(xué)Zookeeper服務(wù)/spider客戶端客戶端客戶端監(jiān)視器注冊注冊注冊ThanksHadoop大數(shù)據(jù)技術(shù)——搭建HDFS分布式集群湖南軟件職業(yè)技術(shù)大學(xué)HDFS架構(gòu)設(shè)計與工作原理HDFS是什么

HDFS源于Google在2003年10月份發(fā)表的GFS(GoogleFileSystem)論文。它其實就是GFS的一個克隆版本。湖南軟件職業(yè)技術(shù)大學(xué)HDFS(HadoopDistributedFileSystem)是Hadoop項目的核心子項目,是分布式計算中數(shù)據(jù)存儲管理的基礎(chǔ),是基于流數(shù)據(jù)模式訪問和處理超大文件的需求而開發(fā)的,可以運行于廉價的商用服務(wù)器上?!禩heGoogleFileSystem》2003年HDFS產(chǎn)生背景

隨著數(shù)據(jù)量的不斷增大,最終會導(dǎo)致數(shù)據(jù)在一個操作系統(tǒng)的磁盤中存儲不下。那么為了存儲這些大規(guī)模數(shù)據(jù),就需要將數(shù)據(jù)分配到更多操作系統(tǒng)管理的磁盤中進行存儲,但是這樣會導(dǎo)致數(shù)據(jù)的管理和維護非常不方便,所以就迫切需要一種系統(tǒng)來管理和維護多臺機器上的數(shù)據(jù)文件,實際上這種系統(tǒng)就是分布式文件系統(tǒng),而HDFS只是分布式文件系統(tǒng)中的一種。湖南軟件職業(yè)技術(shù)大學(xué)HDFS的設(shè)計理念來源于非常樸素的思想:理念

即當數(shù)據(jù)文件的大小超過單臺計算機的存儲能力時,就有必要將數(shù)據(jù)文件切分并存儲到由若干臺計算機組成的集群中,這些計算機通過網(wǎng)絡(luò)進行連接。集群HDFS集群

HDFS作為一個抽象層架構(gòu)在集群網(wǎng)絡(luò)之上,對外提供統(tǒng)一的文件管理功能,對于用戶來說就感覺像在操作一臺計算機一樣,根本感受不到HDFS底層的多臺計算機,而且HDFS還能夠很好地容忍節(jié)點故障且不丟失任何數(shù)據(jù)。HDFS設(shè)計理念湖南軟件職業(yè)技術(shù)大學(xué)03010402簡單的一致性模型在HDFS文件系統(tǒng)中,一個文件一旦經(jīng)過創(chuàng)建、寫入、關(guān)閉之后,一般就不需要再進行修改,這樣就可以簡單地保證數(shù)據(jù)的一致性。硬件故障的檢測和快速應(yīng)對通過大量普通硬件構(gòu)成的集群中,硬件出現(xiàn)故障是常見的問題。HDFS文件系統(tǒng)一般是由數(shù)十臺甚至成百上千臺服務(wù)器組成,這么多服務(wù)器就意味著高故障率,但是HDFS在設(shè)計之初已經(jīng)充分考慮到這些問題,認為硬件故障是常態(tài)而不是異常,所以如何進行故障的檢測和快速自動恢復(fù)也是HDFS的重要設(shè)計目標之一。流式數(shù)據(jù)訪問流式數(shù)據(jù)訪問是HDFS選擇的最高效的數(shù)據(jù)訪問方式。流式數(shù)據(jù)訪問可以理解為:讀取數(shù)據(jù)文件就像打開水龍頭一樣,可以不停地讀取。支持超大文件存儲支持超大文件存儲是HDFS最基本的職責所在。HDFS核心設(shè)計目標HDFS設(shè)計目標湖南軟件職業(yè)技術(shù)大學(xué)HDFS系統(tǒng)架構(gòu)湖南軟件職業(yè)技術(shù)大學(xué)HDFS采用master/slave架構(gòu)。一個HDFS集群包含一個單獨的NameNode和多個DataNodeHDFS系統(tǒng)架構(gòu)湖南軟件職業(yè)技術(shù)大學(xué)FSImage和Editlog合并的詳細步驟如下:HDFS優(yōu)缺點

優(yōu)點

高容錯性

數(shù)據(jù)自動保存多個副本,HDFS通過增加多個副本的形式,提高HDFS文件系統(tǒng)的容錯性,某一個副本丟失以后可以自動恢復(fù)。缺點

適合大數(shù)據(jù)處理

能夠處理GB、TB、甚至PB級別的數(shù)據(jù)規(guī)模;能夠處理百萬規(guī)模以上的文件數(shù)量;能夠達到10000個節(jié)點以上的集群規(guī)模。

流式文件訪問

數(shù)據(jù)文件只能一次寫入,多次讀取,只能追加,不能修改;HDFS能保證數(shù)據(jù)的簡單一致性。

可構(gòu)建在廉價的機器上

HDFS提供了容錯和恢復(fù)機制,比如某一個副本丟失了可以通過其他副本來恢復(fù),從而保證了數(shù)據(jù)的安全性和系統(tǒng)的可靠性。

不適合低延時數(shù)據(jù)訪問

比如毫秒級別的數(shù)據(jù)響應(yīng)時間,這種場景HDFS是很難做到的。HDFS更適合高吞吐率的場景,就是在某一時間內(nèi)寫入大量的數(shù)據(jù)。

不適合大量小文件的存儲

如果有大量小文件需要存儲,這些小文件的元數(shù)據(jù)信息會占用NameNode大量的內(nèi)存空間。這樣是不可取的,因為NameNode的內(nèi)存總是有限的。如果讀取小文件的尋道時間超過文件數(shù)據(jù)的讀取時間,它就違反了HDFS大數(shù)據(jù)塊的設(shè)計目標。

不適合并發(fā)寫入、文件隨機修改

一個文件只能有一個寫操作,不允許多個線程同時進行寫操作;僅支持數(shù)據(jù)的append(追加)操作,不支持文件的隨機修改。湖南軟件職業(yè)技術(shù)大學(xué)HDFS讀數(shù)據(jù)流程湖南軟件職業(yè)技術(shù)大學(xué)HDFS讀取數(shù)據(jù)的主要步驟如圖所示:HDFS寫數(shù)據(jù)的主要步驟如圖所示:HDFS寫數(shù)據(jù)流程湖南軟件職業(yè)技術(shù)大學(xué)湖南軟件職業(yè)技術(shù)大學(xué)HDFS高可用(HA)湖南軟件職業(yè)技術(shù)大學(xué)

高可用(HighAvailability

,簡稱HA)為了整個系統(tǒng)的可靠性,我們通常會在系統(tǒng)中部署兩臺或多臺主節(jié)點,多臺主節(jié)點形成主備的關(guān)系,但是某一時刻只有一個主節(jié)點能夠?qū)ν馓峁┓?wù),當某一時刻檢測到對外提供服務(wù)的主節(jié)點“掛”掉之后,備用主節(jié)點能夠立刻接替已掛掉的主節(jié)點對外提供服務(wù),而用戶感覺不到明顯的系統(tǒng)中斷。這樣對用戶來說整個系統(tǒng)就更加的可靠和高效。HA機制產(chǎn)生的背景二是計劃內(nèi)的NameNode節(jié)點軟件或硬件升級,導(dǎo)致集群在短時間內(nèi)不可用。一是NameNode機器宕機,將導(dǎo)致集群不可用,重啟NameNode之后才可使用;

HA機制產(chǎn)生的背景影響HDFS集群的可用性主要包括兩種情況:HDFS的HA架構(gòu)圖HDFSHA架構(gòu)湖南軟件職業(yè)技術(shù)大學(xué)HDFS的HA架構(gòu)如圖所示HDFSHA機制湖南軟件職業(yè)技術(shù)大學(xué)HDFS的HA機制ThanksHadoop大數(shù)據(jù)技術(shù)——搭建YARN分布式集群湖南軟件職業(yè)技術(shù)大學(xué)YARN架構(gòu)設(shè)計與工作原理YARN產(chǎn)生背景MapReduce1.0系統(tǒng)架構(gòu)湖南軟件職業(yè)技術(shù)大學(xué)擴展性差JobTracker同時兼?zhèn)淞速Y源管理和作業(yè)控制兩個功能,嚴重制約了Hadoop集群擴展性。YARN產(chǎn)生背景資源利用率低MRv1采用基于slot的粗粒度的資源分配模型,包含Mapslot和Reduceslot。某個任務(wù)用不完的資源其他任務(wù)也不能用,因為map和reduce的資源完全不能共享的。當一個作業(yè)剛提交時,只會運行MapTask,此時ReduceSlot閑置。MapReduce1.0架構(gòu)缺陷

通用性差隨著互聯(lián)網(wǎng)高速發(fā)展導(dǎo)致數(shù)據(jù)量劇增,MapReduce這種基于磁盤的離線計算框架已經(jīng)不能滿足應(yīng)用要求,從而出現(xiàn)了一些新的計算框架以應(yīng)對各種場景,包括內(nèi)存計算框架、流式計算框架和迭代式計算框架等,而MRv1不能支持多種計算框架并存。

單點故障隨MRv1采用了master/slave結(jié)構(gòu),其中master存在單點故障問題,一旦它出現(xiàn)故障將導(dǎo)致整個集群不可用。湖南軟件職業(yè)技術(shù)大學(xué)YARN概念

YARN是Hadoop2.0版本新引入的資源管理系統(tǒng),直接從MR1演化而來。ApacheHadoopYARN(YetAnotherResourceNegotiator,另一種資源協(xié)調(diào)者)是一種新的Hadoop資源管理器,它是一個通用資源管理系統(tǒng),可為上層應(yīng)用提供統(tǒng)一的資源管理和調(diào)度,它的引入為集群在利用率、資源統(tǒng)一管理和數(shù)據(jù)共享等方面帶來了巨大好處。思想核心思想

將MR1中JobTracker的資源管理和作業(yè)調(diào)度兩個功能分開,分別由ResourceManager和ApplicationMaster進程來實現(xiàn)。ResourceManager負責整個集群的資源管理和調(diào)度。ApplicationMaster負責應(yīng)用程序相關(guān)的事務(wù),比如任務(wù)調(diào)度、任務(wù)監(jiān)控和容錯等。YARN是什么湖南軟件職業(yè)技術(shù)大學(xué)YARN的作用湖南軟件職業(yè)技術(shù)大學(xué)生態(tài)圈的位置YARN的基本構(gòu)架湖南軟件職業(yè)技術(shù)大學(xué)

從YARN的構(gòu)架圖來看,YARN主要由資源管理器(ResourceManager)、節(jié)點管理器(NodeManager0)、應(yīng)用程序管理器(ApplicationMaster)和相應(yīng)的容器(Container)構(gòu)成。YARN的工作原理湖南軟件職業(yè)技術(shù)大學(xué)

從圖可以看出Appn在Yarn中的執(zhí)行過程,整個執(zhí)行過程可以總結(jié)為三步:(1)客戶端向資源管理器提交任務(wù)。(2)資源管理器會在一個節(jié)點上啟動應(yīng)用的應(yīng)用程序管理器實例。(3)應(yīng)用程序管理會在不同節(jié)點上啟動容器,執(zhí)行應(yīng)用任務(wù)。(4)各節(jié)點會及時將節(jié)點資源狀況匯報給資源管理器。湖南軟件職業(yè)技術(shù)大學(xué)MapReduceONYARN工作流程MapReduceONYARN工作流程湖南軟件職業(yè)技術(shù)大學(xué)從圖可以看出,yarn的共流程分為如下幾步:(1)client想yarn提交一個應(yīng)用程序。(2)resourceManager為改應(yīng)用程序分配一個Container,與對應(yīng)的nodeManager進行通信,要求它在此container中啟動應(yīng)用程序管理器。(3)appmaster向資源管理器注冊,這樣用戶可以直接通過資源管理器查看應(yīng)用程序的運行狀態(tài)。(4)應(yīng)用程序管理器為各個任務(wù)想rm請求資源。(5)請求到資源后與nodeManager進行通信,要求啟動任務(wù)。(6)啟動任務(wù)。(7)各個任務(wù)向appmaster報告狀態(tài)和進度。(8)appmaster向rm請求注銷自己。湖南軟件職業(yè)技術(shù)大學(xué)YARN的容錯性ResourceManager存在單點故障,但是可以通過配置實現(xiàn)ResourceManager的HA(高可用),當主節(jié)點出現(xiàn)故障時,可以切換到備用節(jié)點繼續(xù)對外提供服務(wù)。NodeManager失敗之后,ResourceManager會將失敗的任務(wù)通知對應(yīng)的ApplicationMaster,由ApplicationMaster來決定如何去處理失敗的任務(wù)。ApplicationMaster失敗后,由ResourceMa

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論