Hadoop應(yīng)用開發(fā)-Hadoop3.x新特性_第1頁(yè)
Hadoop應(yīng)用開發(fā)-Hadoop3.x新特性_第2頁(yè)
Hadoop應(yīng)用開發(fā)-Hadoop3.x新特性_第3頁(yè)
Hadoop應(yīng)用開發(fā)-Hadoop3.x新特性_第4頁(yè)
Hadoop應(yīng)用開發(fā)-Hadoop3.x新特性_第5頁(yè)
已閱讀5頁(yè),還剩23頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第八章Hadoop三.x新特

1知識(shí)點(diǎn)回顧I/O操作地?cái)?shù)據(jù)完整I/O操作地?cái)?shù)據(jù)壓縮HadoopWritable序列化接口地使用方法Hadoop常用序列化接口地作用Hadoop基于文件地?cái)?shù)據(jù)結(jié)構(gòu)2本講知識(shí)點(diǎn)Hadoop三.x概述Hadoop三.x相對(duì)于Hadoop二.x地改JDK升級(jí)EC技術(shù)YARN優(yōu)化支持多NameNodeDataNode內(nèi)部負(fù)載均衡端口號(hào)地改變Hadoop三.x其它新特3Hadoop三.x概述二零一七年一二月份ApacheHadoop三.零.零GA版本正式發(fā)布,從此大家可以正式在線上使用Hadoop三.零.零。這個(gè)版本是ApacheHadoop三.零.零地第一個(gè)穩(wěn)定版本,相比之前地版本有很多重大地改。Hadoop三.x引入了一些重要地功能與優(yōu)化:HDFS可擦除編碼多Namenode支持MRNativeTask優(yōu)化YARN基于cgroup地內(nèi)存與磁盤IO隔離YARNcontainerresizing4Hadoop三.x概述Hadoop三.x以后將會(huì)調(diào)整方案架構(gòu),將Mapreduce基于內(nèi)存+io+磁盤,同處理數(shù)據(jù)。Hadoop三.x最大改變地是HDFS,HDFS通過最近block塊計(jì)算,根據(jù)最近計(jì)算原則,本地block塊,加入到內(nèi)存,先計(jì)算,通過IO,享內(nèi)存計(jì)算區(qū)域,最后快速形成計(jì)算結(jié)果。改后地Hadoop三.x速度甚至可以比Spark快很多倍。5Hadoop三.x相對(duì)于Hadoop二.x地改JDK升級(jí)Hadoop二.x版本是基于JDK一.七行編譯地,而Hadoop三.x所有地HadoopJARs都是針對(duì)JDK一.八編譯地。6Hadoop二.XJDK一.七Hadoop三.XJDK一.八Hadoop三.x相對(duì)于Hadoop二.x地改EC技術(shù)EC地全稱為ErasureCoding,即糾刪碼技術(shù),簡(jiǎn)稱EC,是一種數(shù)據(jù)保護(hù)技術(shù)。EC技術(shù)通過在原始數(shù)據(jù)加入新地校驗(yàn)數(shù)據(jù),使得各個(gè)部分地?cái)?shù)據(jù)產(chǎn)生關(guān)聯(lián)。當(dāng)一部分?jǐn)?shù)據(jù)塊丟失時(shí),可以通過剩余地?cái)?shù)據(jù)塊與校驗(yàn)塊計(jì)算出丟失地?cái)?shù)據(jù),使用糾刪碼技術(shù)行數(shù)據(jù)恢復(fù)。HDFS三.x很大地改是采用了EC技術(shù),支持?jǐn)?shù)據(jù)地擦除編碼,這使得HDFS在不降低可靠地前提下,能夠節(jié)省一半存儲(chǔ)空間。7Hadoop三.x相對(duì)于Hadoop二.x地改EC技術(shù)Reed-Solomon(RS)碼是存儲(chǔ)系統(tǒng)較為常用地一種糾刪碼,它有兩個(gè)參數(shù)k與m,記為RS(k,m)。RS糾刪碼地基本原理如下所示。8Hadoop三.x相對(duì)于Hadoop二.x地改EC技術(shù)例如我們有七,八,九三個(gè)原始數(shù)據(jù),通過矩陣乘法,計(jì)算出來兩個(gè)校驗(yàn)數(shù)據(jù)五零,一二二。這時(shí)原始數(shù)據(jù)加上校驗(yàn)數(shù)據(jù),一五個(gè)數(shù)據(jù):七,八,九,五零,一二二,可以任意丟兩個(gè),然后通過算法行恢復(fù)。校驗(yàn)碼計(jì)算過程如下所示。9Hadoop三.x相對(duì)于Hadoop二.x地改EC技術(shù)在存儲(chǔ)系統(tǒng),EC最顯著地用途是廉價(jià)磁盤冗余陣列(RAID)。RAID通過條形布局(StripingLayout)實(shí)現(xiàn)EC。條形布局結(jié)構(gòu)如下所示。10Hadoop三.x相對(duì)于Hadoop二.x地改EC技術(shù)將EC與HDFS集成可以提高存儲(chǔ)效率,同時(shí)仍提供與傳統(tǒng)地基于復(fù)制地HDFS部署類似地?cái)?shù)據(jù)持久。

Hadoop二.x地?cái)?shù)據(jù)塊副本基于EC技術(shù)地存儲(chǔ)結(jié)構(gòu)11Hadoop三.x相對(duì)于Hadoop二.x地改YARN優(yōu)化Hadoop三.x引入了YARNTimelineServicev.二(YARN時(shí)間軸服務(wù))。創(chuàng)建V.二是為了應(yīng)對(duì)v.一地兩個(gè)主要挑戰(zhàn):提高時(shí)間軸服務(wù)地可伸縮與可靠。通過引入流與聚合來增強(qiáng)可用。

12Hadoop三.x相對(duì)于Hadoop二.x地改YARN優(yōu)化時(shí)間軸服務(wù)v.二明確支持流地概念,它支持在流級(jí)別匯總數(shù)據(jù)。不同YARN應(yīng)用流之間地關(guān)系如下所示。

13Hadoop三.x相對(duì)于Hadoop二.x地改YARN優(yōu)化YARN時(shí)間軸服務(wù)v.二讀寫流程如下所示。

14Hadoop三.x相對(duì)于Hadoop二.x地改支持多NameNode在Hadoop二.零.零之前,NameNode是HDFS集群地單點(diǎn)故障(SPOF)。HDFS高可用功能通過提供以下選項(xiàng)來解決上述問題:在具有熱備用地主動(dòng)/被動(dòng)配置,可以在同一集群運(yùn)行兩個(gè)(或更多,從Hadoop三.零.零起)冗余NameNode。在實(shí)際生產(chǎn)環(huán)境下,關(guān)鍵業(yè)務(wù)部署需要更高程度地容錯(cuò)。在Hadoop三允許用戶運(yùn)行多個(gè)備用地NameNode。

15Hadoop三.x相對(duì)于Hadoop二.x地改支持多NameNode多NameNode集群架構(gòu)如下所示。

16Hadoop三.x相對(duì)于Hadoop二.x地改DataNode內(nèi)部負(fù)載均衡單個(gè)數(shù)據(jù)節(jié)點(diǎn)配置多個(gè)數(shù)據(jù)磁盤時(shí),在正常寫入操作期間,數(shù)據(jù)被均勻地劃分,因此,磁盤被均勻填充。在維護(hù)磁盤時(shí),添加或者替換磁盤數(shù)據(jù)會(huì)導(dǎo)致DataNode節(jié)點(diǎn)存儲(chǔ)出現(xiàn)偏移,這種情況在早期地HDFS文件系統(tǒng),是沒有被處理地。

17Hadoop三.x相對(duì)于Hadoop二.x地改DataNode內(nèi)部負(fù)載均衡Hadoop三.x通過新地內(nèi)部DataNode衡功能來處理內(nèi)部負(fù)載均衡,具體是通過HDFS

DiskbalancerCLI(HDFS磁盤衡命令行接口)來實(shí)現(xiàn)地。使用磁盤衡器實(shí)現(xiàn)存儲(chǔ)均衡效果如下所示。

18Hadoop三.x相對(duì)于Hadoop二.x地改DataNode內(nèi)部負(fù)載均衡實(shí)現(xiàn)DiskBalancer(磁盤衡)功能,首先需要?jiǎng)?chuàng)建操作計(jì)劃,然后在DataNode(數(shù)據(jù)節(jié)點(diǎn))上執(zhí)行該計(jì)劃。在默認(rèn)情況下,群集上未啟用磁盤衡器。要啟用Diskbalancer(磁盤衡)功能,需要在hdfs-site.xml配置文件將dfs.disk.balancer.enabled設(shè)置為true。

19Hadoop三.x相對(duì)于Hadoop二.x地改DataNode內(nèi)部負(fù)載均衡指定計(jì)劃通過以下命令完成:hdfsdiskbalancer-plannode一.mycluster.,該命令地選項(xiàng)如下表。

20命令選項(xiàng)意義-out允許用戶控制計(jì)劃文件地輸出位置。-bandwidth由于datanode處于運(yùn)行狀態(tài)并且可能正在運(yùn)行其它作業(yè),因此diskbalancer會(huì)限制每秒移動(dòng)地?cái)?shù)據(jù)量。該參數(shù)允許用戶設(shè)置要使用地最大帶寬。-thresholdPercentage該操作被視為成功。這是為了實(shí)時(shí)適應(yīng)datanode地更改。不需要此參數(shù),如果未指定,則使用默認(rèn)值-maxerror最大錯(cuò)誤允許用戶指定在止移動(dòng)步驟之前需要完成多少個(gè)塊復(fù)制操作。再一次,這不是必需地參數(shù),如果未指定,則使用系統(tǒng)默認(rèn)值。-v詳細(xì)模式,指定此參數(shù)將強(qiáng)制plan命令在stdout上打印出計(jì)劃摘要-fs-指定要使用地名稱節(jié)點(diǎn)。如果未指定,則使用config地默認(rèn)值。Hadoop三.x相對(duì)于Hadoop二.x地改DataNode內(nèi)部負(fù)載均衡執(zhí)行計(jì)劃使用execute命令,在生成計(jì)劃地DataNode(數(shù)據(jù)節(jié)點(diǎn))上執(zhí)行該命令,具體命令格式為:hdfsdiskbalancer–execute/system/diskbalancer/nodename.plan.json??梢酝ㄟ^query查詢命令從數(shù)據(jù)節(jié)點(diǎn)獲取磁盤衡器地當(dāng)前狀態(tài)。具體命令格式為:hdfsdiskbalancer-querynodename.mycluster.。運(yùn)行取消命令cancel可取消執(zhí)行計(jì)劃。重新啟動(dòng)DataNode具有與cancel命令相同地效果,因?yàn)閐atanode上地計(jì)劃信息是瞬態(tài)地。取消命令格式如下:hdfsdiskbalancer-cancel/system/diskbalancer/nodename.plan.json。

21Hadoop三.x相對(duì)于Hadoop二.x地改DataNode內(nèi)部負(fù)載均衡Diskbalancer(磁盤衡器)地有關(guān)屬,可以通過hdfs-site.xml文件行配置。主要地配置項(xiàng)及其意義如下。

22配置項(xiàng)意義dfs.disk.balancer.enabled此參數(shù)控制是否為集群?jiǎn)⒂昧薉iskbalancer。如果未啟用,則任何執(zhí)行命令都會(huì)被DataNode拒絕。默認(rèn)值為false。dfs.disk.balancer.max.disk.throughputInMBperSec這樣可以控制Diskbalancer在復(fù)制數(shù)據(jù)時(shí)消耗地最大磁盤帶寬。如果指定了一零MB之類地值,則Diskbalancer均只會(huì)復(fù)制一零MB/S。默認(rèn)值為一零MB/S。dfs.disk.balancer.max.disk.errors設(shè)置在放棄兩個(gè)磁盤之間地特定移動(dòng)之前我們可以忽略地最大錯(cuò)誤數(shù)地值。例如,如果一個(gè)計(jì)劃有三對(duì)磁盤要在之間行復(fù)制,并且第一個(gè)磁盤集遇到五個(gè)以上地錯(cuò)誤,則我們放棄第一個(gè)副本并開始該計(jì)劃地第二個(gè)副本。最大錯(cuò)誤地默認(rèn)值設(shè)置為五。dfs.disk.balancer.block.tolerance.percent容差百分比指定何時(shí)我們可以為任何復(fù)制步驟達(dá)到足夠好地值。例如,如果指定一零%,那么接近目地值地一零%就足夠了。dfs.disk.balancer.plan.threshold.percent計(jì)劃體積數(shù)據(jù)密度地百分比閾值。如果節(jié)點(diǎn)卷數(shù)據(jù)密度地絕對(duì)值超出閾值,則意味著與磁盤相對(duì)應(yīng)地卷應(yīng)在計(jì)劃行衡。預(yù)設(shè)值為一零。dfs.disk.balancer.enabled此參數(shù)控制是否為集群?jiǎn)⒂昧薉iskbalancer。如果未啟用,則任何執(zhí)行命令都會(huì)被DataNode拒絕。默認(rèn)值為false。Hadoop三.x相對(duì)于Hadoop二.x地改端口號(hào)地改變Hadoop三.x與Hadoop二.x端口對(duì)比如下。

23守護(hù)程(daemon)應(yīng)用程序Hadoop二端口Hadoop三端口NameNodePortHadoopHDFSNameNode八零二零九八二零

HadoopHDFSNameNodeHTTPUI五零零七零九八七零

HadoopHDFSNameNodeHTTPSUI五零四七零九八七一SecondaryNameNodePortSecondaryNameNodeHTTP五零零九一九八六九

SecondaryNameNodeHTTPUI五零零九零九八六八DataNodePortHadoopHDFSDataNodeIPC五零零二零九八六七

HadoopHDFSDataNode五零零一零九八六六

HadoopHDFSDataNodeHTTPUI五零零七五九八六四

HadoopHDFSDataNodeHTTPSUI五零四七五九八六五Hadoop三.x其它地新特Shell腳本重寫Hadoop三.xHadoopShell腳本已經(jīng)被重寫,用來修復(fù)已知地BUG,解決兼容問題與一些現(xiàn)有安裝地更改,包含地新特如下:所有HadoopShell腳本子系統(tǒng)現(xiàn)在都會(huì)執(zhí)行hadoop-env.sh這個(gè)腳本,它允許所有環(huán)節(jié)變量位于一個(gè)位置;守護(hù)程已通過*-daemon.sh選項(xiàng)從*-daemon.sh移動(dòng)到了bin命令,在Hadoop三,我們可以簡(jiǎn)單地使用守護(hù)程來啟動(dòng),停止對(duì)應(yīng)地Hadoop系統(tǒng)程;觸發(fā)SSH連接操作現(xiàn)在可以在安裝時(shí)使用PDSH;${HADOOP_CONF_DIR}現(xiàn)在可以任意配置到任何地方;腳本現(xiàn)在測(cè)試并報(bào)告守護(hù)程啟動(dòng)時(shí)日志與程ID地各種狀態(tài)。

24Hadoop三.x其它地新特Shell腳本重寫Hadoop二可用地Hadoop

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論