1. Hadoop 3.0簡介
Hadoop 2.0是基於JDK 1.7開發的,而JDK 1.7在2015年4月已停止更新,這直接迫使Hadoop社區基於JDK 1.8重新發布一個新的Hadoop版本,而這正是hadoop 3.0。
Hadoop 3.0的alpha版預計今年夏天發布,GA版本11月或12月發布。
Hadoop 3.0中引入了一些重要的功能和優化,包括HDFS 可擦除編碼、多Namenode支持、MR Native Task優化、YARN基於cgroup的記憶體和磁盤IO隔離、YARN container resizing等。
2. Hadoop 3.0新特性
Hadoop 3.0在功能和性能方面,對hadoop內核進行了多項重大改進,主要包括:
2.1 Hadoop Common
(1)精簡Hadoop內核,包括剔除過期的API和做到,將默認組件做到替換成最高效的做到(比如將FileOutputCommitter缺省做到換為v2版本,廢除hftp轉由webhdfs替代,移除Hadoop子做到序列化庫org.apache.hadoop.Records
(2)Classpath isolation以防止不同版本jar包衝突,比如google Guava在混合使用Hadoop、HBase和Spark時,很容易產生衝突。(https://issues.apache.org/jira/browse/HADOOP-11656)
(3)Shell腳本重構。 Hadoop 3.0對Hadoop的管理腳本進行了重構,修復了大量bug,增加了新特性,支持動態命令等。https://issues.apache.org/jira/browse/HADOOP-9902
2.2 Hadoop HDFS
(1)HDFS支持數據的擦除編碼,這使得HDFS在不降低可靠性的前提下,節省一半存儲空間。(https://issues.apache.org/jira/browse/HDFS-7285)
(2)多NameNode支持,即支持一個集群中,一個active、多個standby namenode部署方式。註:多ResourceManager特性在hadoop 2.0中已經支持。(https://issues.apache.org/jira/browse/HDFS-6440)
2.3 Hadoop MapReduce
(1)Tasknative優化。為MapReduce增加了C/C++的map output collector做到(包括Spill,Sort和IFile等),通過作業級別參數調整就可切換到該做到上。對於shuffle密集型應用,其性能可提高約30%。(https://issues.apache.org/jira/browse/MAPREDUCE-2841)
(2)MapReduce記憶體參數自動推斷。在Hadoop 2.0中,為MapReduce作業設置記憶體參數非常繁瑣,涉及到兩個參數:mapreduce.{map,reduce}.memory.mb和mapreduce.{map,reduce}.java.opts,一旦設置不合理,則會使得記憶體資源浪費嚴重,比如將前者設置為4096MB,但後者卻是「-Xmx2g」,則剩餘2g實際上無法讓java heap使用到。(https://issues.apache.org/jira/browse/MAPREDUCE-5785)
2.4 Hadoop YARN
(1)基於cgroup的記憶體隔離和IO Disk隔離(https://issues.apache.org/jira/browse/YARN-2619)
(2)用curator做到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總結
Hadoop 3.0的alpha版預計今年夏天發布,GA版本11月或12月發布。
Hadoop 3.0中引入了一些重要的功能和優化,包括HDFS 可擦除編碼、多Namenode支持、MR Native Task優化、YARN基於cgroup的記憶體和磁盤IO隔離、YARN container resizing等。
關於作者:
最知名的Hadoop/Spark/Docker大數據技術基地,分享Hadoop技術內幕,Hadoop最新技術進展,發布Hadoop相關職位和求職信息,Hadoop技術交流聚會、講座以及會議等。
微信號:hadoop-123