1. Hadoop 3.0簡(jiǎn)介
Hadoop 2.0是基于JDK 1.7開發(fā)的树碱,而JDK 1.7在2015年4月已停止更新寒波,這直接迫使Hadoop社區(qū)基于JDK 1.8重新發(fā)布一個(gè)新的Hadoop版本饥悴,而這正是hadoop 3.0夺巩。
Hadoop 3.0的alpha版預(yù)計(jì)今年夏天發(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在功能和性能方面阱表,對(duì)hadoop內(nèi)核進(jìn)行了多項(xiàng)重大改進(jìn),主要包括:
2.1 Hadoop Common
(1)精簡(jiǎn)Hadoop內(nèi)核,包括剔除過期的API和實(shí)現(xiàn)最爬,將默認(rèn)組件實(shí)現(xiàn)替換成最高效的實(shí)現(xiàn)(比如將FileOutputCommitter缺省實(shí)現(xiàn)換為v2版本涉馁,廢除hftp轉(zhuǎn)由webhdfs替代,移除Hadoop子實(shí)現(xiàn)序列化庫org.apache.hadoop.Records
(2)Classpath isolation以防止不同版本jar包沖突爱致,比如google Guava在混合使用Hadoop烤送、HBase和Spark時(shí),很容易產(chǎn)生沖突糠悯。(https://issues.apache.org/jira/browse/HADOOP-11656)
(3)Shell腳本重構(gòu)帮坚。Hadoop 3.0對(duì)Hadoop的管理腳本進(jìn)行了重構(gòu),修復(fù)了大量bug互艾,增加了新特性试和,支持動(dòng)態(tài)命令等。https://issues.apache.org/jira/browse/HADOOP-9902
2.2 Hadoop HDFS
(1)HDFS支持?jǐn)?shù)據(jù)的擦除編碼纫普,這使得HDFS在不降低可靠性的前提下阅悍,節(jié)省一半存儲(chǔ)空間。(https://issues.apache.org/jira/browse/HDFS-7285)
(2)多NameNode支持昨稼,即支持一個(gè)集群中节视,一個(gè)active、多個(gè)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實(shí)現(xiàn)(包括Spill但指,Sort和IFile等)寡痰,通過作業(yè)級(jí)別參數(shù)調(diào)整就可切換到該實(shí)現(xiàn)上。對(duì)于shuffle密集型應(yīng)用棋凳,其性能可提高約30%拦坠。(https://issues.apache.org/jira/browse/MAPREDUCE-2841)
(2)MapReduce內(nèi)存參數(shù)自動(dòng)推斷。在Hadoop 2.0中剩岳,為MapReduce作業(yè)設(shè)置內(nèi)存參數(shù)非常繁瑣贞滨,涉及到兩個(gè)參數(shù):mapreduce.{map,reduce}.memory.mb和mapreduce.{map,reduce}.java.opts,一旦設(shè)置不合理拍棕,則會(huì)使得內(nèi)存資源浪費(fèi)嚴(yán)重晓铆,比如將前者設(shè)置為4096MB,但后者卻是“-Xmx2g”绰播,則剩余2g實(shí)際上無法讓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實(shí)現(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)
3.???Hadoop3.0總結(jié)
Hadoop 3.0的alpha版預(yù)計(jì)今年夏天發(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等。