呼之欲出!比Spark快10倍的Hadoop3.0有哪些實用新特性?

責(zé)任編輯:editor005

2016-06-02 14:42:23

摘自:數(shù)盟

Apache hadoop 項目組最新消息,hadoop3 x以后將會調(diào)整方案架構(gòu),將Mapreduce 基于內(nèi)存+io+磁盤,共同處理數(shù)據(jù)。其實最大改變的是hdfs,hdfs 通過最近black塊計算

Apache hadoop 項目組最新消息,hadoop3.x以后將會調(diào)整方案架構(gòu),將Mapreduce 基于內(nèi)存+io+磁盤,共同處理數(shù)據(jù)。

其實最大改變的是hdfs,hdfs 通過最近black塊計算,根據(jù)最近計算原則,本地black塊,加入到內(nèi)存,先計算,通過IO,共享內(nèi)存計算區(qū)域,最后快速形成計算結(jié)果。

Hadoop

1. Hadoop 3.0簡介

Hadoop 2.0是基于JDK 1.7開發(fā)的,而JDK 1.7在2015年4月已停止更新,這直接迫使Hadoop社區(qū)基于JDK 1.8重新發(fā)布一個新的Hadoop版本,而這正是hadoop 3.0。

Hadoop 3.0的alpha版預(yù)計今年夏天發(fā)布,GA版本11月或12月發(fā)布。

Hadoop 3.0中引入了一些重要的功能和優(yōu)化,包括HDFS 可擦除編碼、多Namenode支持、MR Native Task優(yōu)化、YARN基于cgroup的內(nèi)存和磁盤IO隔離、YARN container resizing等。

2. Hadoop 3.0新特性

Hadoop 3.0在功能和性能方面,對hadoop內(nèi)核進(jìn)行了多項重大改進(jìn),主要包括:

2.1 Hadoop Common

(1)精簡Hadoop內(nèi)核,包括剔除過期的API和實現(xiàn),將默認(rèn)組件實現(xiàn)替換成最高效的實現(xiàn)(比如將FileOutputCommitter缺省實現(xiàn)換為v2版本,廢除hftp轉(zhuǎn)由webhdfs替代,移除Hadoop子實現(xiàn)序列化庫org.apache.hadoop.Records

(2)Classpath isolation以防止不同版本jar包沖突,比如google Guava在混合使用Hadoop、HBase和Spark時,很容易產(chǎn)生沖突。(https://issues.apache.org/jira/browse/HADOOP-11656)

(3)Shell腳本重構(gòu)。 Hadoop 3.0對Hadoop的管理腳本進(jìn)行了重構(gòu),修復(fù)了大量bug,增加了新特性,支持動態(tài)命令等。https://issues.apache.org/jira/browse/HADOOP-9902

2.2 Hadoop HDFS

(1)HDFS支持?jǐn)?shù)據(jù)的擦除編碼,這使得HDFS在不降低可靠性的前提下,節(jié)省一半存儲空間。(https://issues.apache.org/jira/browse/HDFS-7285)

(2)多NameNode支持,即支持一個集群中,一個active、多個standby namenode部署方式。注:多ResourceManager特性在hadoop 2.0中已經(jīng)支持。(https://issues.apache.org/jira/browse/HDFS-6440)

2.3 Hadoop MapReduce

(1)Tasknative優(yōu)化。為MapReduce增加了C/C++的map output collector實現(xiàn)(包括Spill,Sort和IFile等),通過作業(yè)級別參數(shù)調(diào)整就可切換到該實現(xiàn)上。對于shuffle密集型應(yīng)用,其性能可提高約30%。(https://issues.apache.org/jira/browse/MAPREDUCE-2841)

(2)MapReduce內(nèi)存參數(shù)自動推斷。在Hadoop 2.0中,為MapReduce作業(yè)設(shè)置內(nèi)存參數(shù)非常繁瑣,涉及到兩個參數(shù):mapreduce.{map,reduce}.memory.mb和mapreduce.{map,reduce}.java.opts,一旦設(shè)置不合理,則會使得內(nèi)存資源浪費嚴(yán)重,比如將前者設(shè)置為4096MB,但后者卻是“-Xmx2g”,則剩余2g實際上無法讓java heap使用到。(https://issues.apache.org/jira/browse/MAPREDUCE-5785)

2.4 Hadoop YARN

(1)基于cgroup的內(nèi)存隔離和IO Disk隔離(https://issues.apache.org/jira/browse/YARN-2619)

(2)用curator實現(xiàn)RM leader選舉(https://issues.apache.org/jira/browse/YARN-4438)

(3)containerresizing(https://issues.apache.org/jira/browse/YARN-1197)

(4)Timelineserver next generation (https://issues.apache.org/jira/browse/YARN-2928)

以下是hadoop-3.0的最新參數(shù)

hadoop-3.0HADOOPMove to JDK8+

Classpath isolation on by default HADOOP-11656

Shell script rewrite HADOOP-9902

Move default ports out of ephemeral range HDFS-9427

HDFS

Removal of hftp in favor of webhdfs HDFS-5570

Support for more than two standby NameNodes HDFS-6440

Support for Erasure Codes in HDFS HDFS-7285

YARNMAPREDUCE

Derive heap size or mapreduce.*.memory.mb automatically MAPREDUCE-5785

在HDFS-7285中,實現(xiàn)了Erasure Coding這個新功能.鑒于此功能還遠(yuǎn)沒有到發(fā)布的階段,可能后面此塊相關(guān)的代碼還會進(jìn)行進(jìn)一步的改造,因此只是做一個所謂的預(yù)分析,幫助大家提前了解Hadoop社區(qū)目前是如何實現(xiàn)這一功能的.本人之前也沒有接觸過Erasure Coding技術(shù),中間過程也確實有些偶然,相信本文可以帶給大家收獲.

Erasure coding糾刪碼技術(shù)簡稱EC,是一種數(shù)據(jù)保護(hù)技術(shù).最早用于通信行業(yè)中數(shù)據(jù)傳輸中的數(shù)據(jù)恢復(fù),是一種編碼容錯技術(shù).他通過在原始數(shù)據(jù)中加入新的校驗數(shù)據(jù),使得各個部分的數(shù)據(jù)產(chǎn)生關(guān)聯(lián)性.在一定范圍的數(shù)據(jù)出錯情況下,通過糾刪碼技術(shù)都可以進(jìn)行恢復(fù).下面結(jié)合圖片進(jìn)行簡單的演示,首先有原始數(shù)據(jù)n個,然后加入m個校驗數(shù)據(jù)塊.如下圖所示:

Parity部分就是校驗數(shù)據(jù)塊,我們把一行數(shù)據(jù)塊組成為Stripe條帶,每行條帶由n個數(shù)據(jù)塊和m個校驗塊組成.原始數(shù)據(jù)塊和校驗數(shù)據(jù)塊都可以通過現(xiàn)有的數(shù)據(jù)塊進(jìn)行恢復(fù),原則如下:

如果校驗數(shù)據(jù)塊發(fā)生錯誤,通過對原始數(shù)據(jù)塊進(jìn)行編碼重新生成如果原始數(shù)據(jù)塊發(fā)生錯誤, 通過校驗數(shù)據(jù)塊的解碼可以重新生成。

而且m和n的值并不是固定不變的,可以進(jìn)行相應(yīng)調(diào)整。可能有人會好奇,這其中到底是什么原理呢? 其實道理很簡單,你把上面這圖看成矩陣,由于矩陣的運算具有可逆性,所以就能使數(shù)據(jù)進(jìn)行恢復(fù),給出一張標(biāo)準(zhǔn)的矩陣相乘圖,大家可以將二者關(guān)聯(lián)。

3. Hadoop3.0 總結(jié)

Hadoop 3.0的alpha版預(yù)計今年夏天發(fā)布,GA版本11月或12月發(fā)布。

Hadoop 3.0中引入了一些重要的功能和優(yōu)化,包括HDFS 可擦除編碼、多Namenode支持、MR Native Task優(yōu)化、YARN基于cgroup的內(nèi)存和磁盤IO隔離、YARN container resizing等。

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號-6京公網(wǎng)安備 11010502049343號