大數(shù)據(jù)技術(shù)原理與操作應(yīng)用 第6章 Hadoop2新特性_第1頁
大數(shù)據(jù)技術(shù)原理與操作應(yīng)用 第6章 Hadoop2新特性_第2頁
大數(shù)據(jù)技術(shù)原理與操作應(yīng)用 第6章 Hadoop2新特性_第3頁
大數(shù)據(jù)技術(shù)原理與操作應(yīng)用 第6章 Hadoop2新特性_第4頁
大數(shù)據(jù)技術(shù)原理與操作應(yīng)用 第6章 Hadoop2新特性_第5頁
已閱讀5頁,還剩26頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第6章Hadoop2.0新特性

·Hadoop2.0的改進(jìn)與提升·YARN體系結(jié)構(gòu)·YARN工作流程·HDFSHA的搭建方法12?學(xué)習(xí)目標(biāo)熟悉掌握掌握掌握熟悉YARN的體系結(jié)構(gòu)12掌握Hadoop2.0的改進(jìn)與提升4掌握YARN的工作流程3掌握HDFSHA的搭建方法本章通過對(duì)Hadoop2.0的改進(jìn)與提升、YARN體系結(jié)構(gòu)、YARN工作流程、HDFSHA搭建方法進(jìn)行詳細(xì)講解。章節(jié)概要相比于Hadoop1.0,Hadoop2.0由HDFS、MapRduce和YARN三個(gè)分支構(gòu)成。其中HDFS增加了兩個(gè)重大特性,HA和Federation。Hadoop2.0將JobTracker中的資源管理和作業(yè)控制分開,分別由Resource-Manager(負(fù)責(zé)所有應(yīng)用程序的資源分配)和ApplicationMaster(負(fù)責(zé)管理一個(gè)應(yīng)用程序)實(shí)現(xiàn),即引入了資源管理框架YARN。

6.1Hadoop2.0的改進(jìn)與提升Hadoop2.0新特性——HAHA即為高可用性HighAvailability,高可用性最關(guān)鍵的策略是消除單點(diǎn)故障。其主要用于解決NameNode單點(diǎn)故障問題,該特性通過熱備的方式為主NameNode提供一個(gè)備用者,一旦主NameNode出現(xiàn)故障,可以迅速切換至備NameNode,從而實(shí)現(xiàn)不間斷對(duì)外提供服務(wù)。

6.1Hadoop的文件系統(tǒng)Hadoop2.0新特性——HA在一個(gè)典型的HDFSHA場(chǎng)景中,一個(gè)NameNode處于Active狀態(tài),另一個(gè)NameNode處于Standby狀態(tài)。ActiveNameNode對(duì)外提供服務(wù)。例如:處理來自客戶端的RPC請(qǐng)求,StandbyNameNode則不對(duì)外提供服務(wù),僅同步ActiveNameNode的狀態(tài),以便能夠在它失敗時(shí)快速進(jìn)行切換。

6.1Hadoop的文件系統(tǒng)Hadoop2.0新特性——FederationFederation即為“聯(lián)邦”,該特性可理解為一個(gè)HDFS集群中允許存在多個(gè)相互獨(dú)立的NameNode同時(shí)對(duì)外提供服務(wù),這些使NameNode可以通過增加機(jī)器來進(jìn)行水平擴(kuò)展。每個(gè)NameNode分別進(jìn)行各自命名空間和塊管理。

6.1Hadoop的文件系統(tǒng)Hadoop2.0新特性——FederationFederation特性的設(shè)計(jì)主要可以解決以下問題HDFS集群擴(kuò)展性性能更高效良好的隔離性

6.2YARN體系結(jié)構(gòu)YARN體系結(jié)構(gòu)ApacheHadoopYARN是Hadoop2.0中的資源管理系統(tǒng),它依舊采用了主從架構(gòu)。YARN主要是由ResourceManager、NodeManager、ApplicationMaster和Container

等幾個(gè)組件構(gòu)成。ResourceManager為master節(jié)點(diǎn),NodeManager為slaver節(jié)點(diǎn),ResourceManager主要負(fù)責(zé)對(duì)NodeManager上的資源進(jìn)行統(tǒng)一的管理與調(diào)度。

6.2YARN體系結(jié)構(gòu)YARN體系結(jié)構(gòu)當(dāng)用戶Client提交一個(gè)應(yīng)用程序時(shí),Client向ResourceManager提交的每個(gè)應(yīng)用程序都必須存在一個(gè)AppMaster,它負(fù)責(zé)向ResourceManager申請(qǐng)資源,并要求NodeManger啟動(dòng)可以占用一定資源的任務(wù)。由于不同的AppMaster被分布到不同的節(jié)點(diǎn)上,因此,它們之間不會(huì)相互影響。

6.2YARN體系結(jié)構(gòu)YARN體系結(jié)構(gòu)——ContainerContainer是YARN框架中的資源,它可以理解為組成系統(tǒng)的一個(gè)資源單元。例如:內(nèi)存分片、CPU核心數(shù)、網(wǎng)絡(luò)帶寬和硬盤空間等。每個(gè)slaver節(jié)點(diǎn)由多個(gè)512MB或1GB大小的內(nèi)存容器組成。當(dāng)應(yīng)用管理器(ApplicationManager)向資源管理器(ResourceManager)申請(qǐng)資源時(shí),資源管理器返回的資源使用Container表示,且YARN為每個(gè)任務(wù)分配一個(gè)Container。

6.2YARN體系結(jié)構(gòu)YARN體系結(jié)構(gòu)——ResourceManagerResourceManager是一個(gè)全局的資源管理器,負(fù)責(zé)整個(gè)系統(tǒng)的資源管理與分配。它主要由兩個(gè)組件資源調(diào)度器(Scheduler)和應(yīng)用管理器(ApplicationManager)組成。1)調(diào)度器調(diào)度器是根據(jù)集群中的容量、隊(duì)列和資源等限制,將資源分配給各個(gè)正在運(yùn)行的應(yīng)用。調(diào)度器根據(jù)每個(gè)應(yīng)用的資源需求和集群各個(gè)節(jié)點(diǎn)的資源容器進(jìn)行調(diào)度。2)應(yīng)用管理器應(yīng)用管理器負(fù)責(zé)整個(gè)系統(tǒng)中所有應(yīng)用程序,包括應(yīng)用程序提交、調(diào)度器協(xié)調(diào)資源啟動(dòng)(ApplicationMaster)、監(jiān)控應(yīng)用運(yùn)行情況并重新啟動(dòng)等。

6.2YARN體系結(jié)構(gòu)YARN體系結(jié)構(gòu)——NodeManagerNodeManager是每個(gè)節(jié)點(diǎn)上的資源和任務(wù)管理器,它運(yùn)行在每個(gè)集群的節(jié)點(diǎn)上,其主要負(fù)責(zé)與ResourceManager配合進(jìn)行整個(gè)集群的資源分配工作,并監(jiān)控運(yùn)行節(jié)點(diǎn)的健康狀態(tài)。它的工作主要有以下幾個(gè)方面:接收ResourceManager請(qǐng)求與ResourceManager交換信息管理Container生命周期管理節(jié)點(diǎn)日志執(zhí)行額外服務(wù)

6.2YARN體系結(jié)構(gòu)YARN體系結(jié)構(gòu)——ApplicationMasterApplicationMaster是應(yīng)用主體,它與用戶提交的每個(gè)應(yīng)用程序是一一對(duì)應(yīng)的,Application-Master的主要作用是向ResourceManager申請(qǐng)資源并與NodeManager協(xié)同工作來運(yùn)行應(yīng)用的各個(gè)任務(wù),然后跟蹤它們狀態(tài)及監(jiān)控各個(gè)任務(wù)的執(zhí)行,遇到失敗的任務(wù)還負(fù)責(zé)重啟它。它的工作主要負(fù)責(zé)以下幾個(gè)方面:①與ResourceManager調(diào)度器協(xié)商獲取資源。②與NodeManager合作,在合適的容器中運(yùn)行對(duì)應(yīng)的組件,并監(jiān)控這些任務(wù)執(zhí)行。③如果容器Container出現(xiàn)故障,ApplicationMaster會(huì)重新向調(diào)度器申請(qǐng)其他資源。④計(jì)算應(yīng)用程序所需要的資源量,并轉(zhuǎn)化為調(diào)度器可識(shí)別的協(xié)議信息包。⑤在應(yīng)用主體出現(xiàn)故障后,應(yīng)用管理器會(huì)負(fù)責(zé)重啟它。

6.3YARN工作流程YARN工作流程①用戶Client向YARN中提交應(yīng)用程序,并為其分配一個(gè)新的應(yīng)用ID,該應(yīng)用包括ApplicationMaster程序、啟動(dòng)ApplicationMaster的命令、用戶程序等。②ResourceManager為該應(yīng)用程序分配第一個(gè)Container。③ApplicationMaster首先向ResourceManager注冊(cè),這樣用戶可以直接通過ResourceManager查看應(yīng)用程序的運(yùn)行狀態(tài)。④ApplicationMaster通過RPC協(xié)議不斷計(jì)算所需資源并向ResourceManager申請(qǐng)和領(lǐng)取資源。⑤一旦ApplicationMaster申請(qǐng)到資源后,應(yīng)用主體與對(duì)應(yīng)的NodeManager進(jìn)行通信,要求它啟動(dòng)任務(wù)。⑥NodeManager為任務(wù)設(shè)置好運(yùn)行環(huán)境后,將任務(wù)啟動(dòng)命令寫到一個(gè)腳本中,并通過運(yùn)行該腳本啟動(dòng)任務(wù)。⑦各個(gè)任務(wù)通過某個(gè)RPC協(xié)議向ApplicationMaster匯報(bào)自己的狀態(tài)和進(jìn)度,以讓ApplicationMaster隨時(shí)掌握各個(gè)任務(wù)的運(yùn)行狀態(tài)。⑧應(yīng)用程序運(yùn)行完成后,ApplicationMaster向ResourceManager注銷并關(guān)閉自己。

6.3YARN工作流程YARN工作流程

6.4HDFSHA的搭建方法準(zhǔn)備工作——節(jié)點(diǎn)規(guī)劃使用4臺(tái)虛擬機(jī)搭建HA集群,節(jié)點(diǎn)master1和slave1作為NameNode,節(jié)點(diǎn)master2、slave1、slave2作為DataNode,存儲(chǔ)共享的JournalNode在所有節(jié)點(diǎn)都要啟動(dòng)。節(jié)點(diǎn)規(guī)劃圖如下:

6.4HDFSHA的搭建方法準(zhǔn)備工作——IP地址規(guī)劃

6.4HDFSHA的搭建方法準(zhǔn)備工作——修改主機(jī)名修改所有節(jié)點(diǎn)的“/etc/hostname”文件,修改三個(gè)虛擬機(jī)的主機(jī)名,執(zhí)行命令“vi/etc/hostname”,將原文件中的“l(fā)ocalhost.localdomain”分別改為master1、master2、slave1和slave2,修改完成后重啟虛擬機(jī)。后續(xù)工作還包括創(chuàng)建普通用戶,關(guān)閉防火墻,時(shí)鐘同步等。

6.4HDFSHA的搭建方法安裝Zookeeper——下載將下載后的安裝包拷貝到每個(gè)節(jié)點(diǎn)的“/home/apache/soft”文件夾下,然后使用命令“tar-zxvfZooKeeper-3.4.14.tar.gz”解壓壓縮包。如圖6.6所示,已經(jīng)成功解壓出文件夾“ZooKeeper-3.4.14”。

6.4HDFSHA的搭建方法安裝Zookeeper——配置修改zookeeper配置文件名稱為zoo.cfg。并修改配置文件,配置的內(nèi)容如下:tickTime=2000initLimit=10syncLimit=5#修改的dataDir文件路徑,配置臨時(shí)文件路徑內(nèi)容即可,配置的文件路徑需要提前創(chuàng)建好dataDir=/home/apache/soft/zookeeper-3.4.14/tmp#theportatwhichtheclientswillconnectclientPort=2181#配置server幾臺(tái)機(jī)器就配置幾臺(tái)即可,注意server的數(shù)字,在后續(xù)需要用到server.1=master2:2888:3888server.2=slave1:2888:3888server.3=slave2:2888:3888server.0=master1:2888:3888

6.4HDFSHA的搭建方法安裝Zookeeper——安裝Rsync工具使用命令“yuminstall-yrsync”。該命令是使用yum下載并安裝Rsync工具包。進(jìn)行配置分發(fā)操作。

6.4HDFSHA的搭建方法安裝Zookeeper——配置環(huán)境變量修改/etc/profile文件配置環(huán)境變量,配置內(nèi)容如下:exportJAVA_HOME=/home/apache/soft/jdk1.8.0_211exportHADOOP_HOME=/home/apache/soft/hadoop-2.7.7exportZOOKEEPER_HOME=/home/apache/soft/zookeeper-3.4.14exportPATH=﹩PATH:﹩JAVA_HOME/bin:﹩JAVA_HOME/jre/bin:﹩HADOOP_HOME/bin:﹩HADOOP_HOME/sbin:﹩ZOOKEEPER_HOME/binexportCLASSPATH=﹩CLASSPATH:.:﹩JAVA_HOME/lib:﹩JAVA_HOME/jre/lib

6.4HDFSHA的搭建方法安裝Zookeeper——啟動(dòng)ZooKeeper的相關(guān)命令主要有以下幾個(gè):①啟動(dòng)ZooKeeper命令:“zkServer.shstart”;②查看ZooKeeper命令:“zkServer.shstatus”;③停止ZooKeeper命令:“zkServer.shstop”。為每臺(tái)節(jié)點(diǎn)執(zhí)行“zkServer.shstart”命令,啟動(dòng)ZooKeeper服務(wù)。當(dāng)每個(gè)節(jié)點(diǎn)已經(jīng)啟動(dòng)后,使用命令“zkServer.shstatus”查看每個(gè)節(jié)點(diǎn)的狀態(tài)。

6.4HDFSHA的搭建方法配置高可用集群——?jiǎng)?chuàng)建文件夾在配置安裝Hadoop之前,需要提前創(chuàng)建好文件夾,用來存儲(chǔ)數(shù)據(jù)、日志文件、數(shù)據(jù)存儲(chǔ)文件。對(duì)于數(shù)據(jù)存儲(chǔ)文件夾,創(chuàng)建文件夾命令如下:[root@master1hadoop-2.7.7]#mkdir-p/home/apache/soft/hadoop-2.7.7/media/data1/hdfs/data[root@master1hadoop-2.7.7]#mkdir-p/home/apache/soft/hadoop-2.7.7/media/data2/hdfs/data[root@master1hadoop-2.7.7]#mkdir-p/home/apache/soft/hadoop-2.7.7/media/data3/hdfs/data

6.4HDFSHA的搭建方法配置高可用集群——配置環(huán)境變量這里需要配置Java和Hadoop的環(huán)境變量,配置方法可以參考ZooKeeper環(huán)境變量配置方法,這里只需要修改“/etc/profile”文件,在文件下添加的增加內(nèi)容為:JAVA_HOME、HADOOP_HOME,并在變量PATH中添加變量。exportJAVA_HOME=/home/apache/soft/jdk1.8.0_211exportHADOOP_HOME=/home/apache/soft/hadoop-2.7.7exportZOOKEEPER_HOME=/home/apache/soft/ZooKeeper-3.4.14exportPATH=﹩PATH:﹩JAVA_HOME/bin:﹩JAVA_HOME/jre/bin:﹩HADOOP_HOME/bin:﹩HADOOP_HOME/sbin:﹩ZOOKEEPER_HOME/binexportCLASSPATH=﹩CLASSPATH:.:﹩JAVA_HOME/lib:﹩JAVA_HOME/jre/lib

6.4HDFSHA的搭建方法配置高可用集群——修改配置文件修改目錄“/home/apache/soft/hadoop-2.7.7/etc/hadoop”下的“hadoop-env.sh”和“yarnenv.sh”兩個(gè)文件,這兩個(gè)腳本分別是Hadoop的環(huán)境變量與YARN的環(huán)境變量配置腳本。

6.4HDFSHA的搭建方法配置高可用集群——修改配置文件修改配置文件“core-site.xml”,該配置文件主要是設(shè)置集群的全局配置文件,用于定義系統(tǒng)級(jí)別的參數(shù),如HDFSURL、Hadoop的臨時(shí)目錄等。修改配置文件“hdfs-site.xml”,該配置文件是對(duì)HDFS的配置文件,通過該配置文件可以修改命名空間NameSpace、指定該集群下有幾個(gè)NameNode、NameNode的RPC通信地址與HTTP通信地址、DataNode的存儲(chǔ)文件位置、配置JournalNode的數(shù)據(jù)共享地址、存儲(chǔ)副本數(shù)、高可用性方案、ZooKeeper配置等。修改配置文件“mapred-site.xml”,該配置文件的主要作用是定義MapReduce參數(shù),包括兩部分:JobHistoryServer和應(yīng)用程序參數(shù),如Reduce任務(wù)的默認(rèn)個(gè)數(shù)、任務(wù)所能使用的內(nèi)存大小等。

6.4HDFSHA的搭建方法配置高可用集群——修改配置文件修改配置文件“yarn-site.xml”,該配置文件主要用于集群資源管理系統(tǒng)參數(shù)的配置,例如:配置“ResourceManager、NodeManager”的通信端口、Web監(jiān)控端口等。修改Hadoop

溫馨提示

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

評(píng)論

0/150

提交評(píng)論