Apache Hadoop 3.0.0-alpha1主要改進(jìn)
1、Minimum required Java version increased from Java 7 to Java 8
所有的Hadoop JARs針對(duì)運(yùn)行時(shí)版本的Java 8被編譯。仍在使用Java 7或更低版本的用戶必須升級(jí)至Java 8。
2、Support for erasure encoding in HDFS
HDFS支持糾刪碼。與副本相比糾刪碼是一種更節(jié)省空間的數(shù)據(jù)持久化存儲(chǔ)方法。像Reed-Solomon這種標(biāo)準(zhǔn)編碼用于1.4倍空間開(kāi)銷(xiāo),而之前的HDFS副本相比則是3倍空間開(kāi)銷(xiāo)。
既然糾刪碼主要的額外開(kāi)銷(xiāo)是在重建和執(zhí)行遠(yuǎn)程讀,它習(xí)慣上用于存儲(chǔ)冷數(shù)據(jù),即不經(jīng)常訪問(wèn)的數(shù)據(jù)。當(dāng)部署這個(gè)新特性時(shí)用戶應(yīng)該考慮糾刪碼的網(wǎng)絡(luò)和CPU開(kāi)銷(xiāo)。
3、YARN Timeline Service v.2
引入了Yarn時(shí)間抽服務(wù)v.2,應(yīng)對(duì)兩大挑戰(zhàn):改善時(shí)間軸服務(wù)的可伸縮性和可靠性,通過(guò)引入流和聚合增強(qiáng)可用性。
4、Shell script rewrite
shell腳本重寫(xiě),解決了之前的很多長(zhǎng)期存在的bug。
5、MapReduce task-level native optimization
MR任務(wù)級(jí)本地優(yōu)化。MapReduce添加了Map輸出collector的本地實(shí)現(xiàn)。對(duì)于shuffle密集型作業(yè),這將會(huì)有30%以上的性能提升。
6、Support for more than 2 NameNodes.
允許用戶運(yùn)行多個(gè)Standby NN,更高的容錯(cuò)性。比如,通過(guò)配置3個(gè)NN和5個(gè)JournalNodes,集群能夠容忍2個(gè)NN宕機(jī)而不是之前的一個(gè)。
7、Support for Microsoft Azure Data Lake filesystem connector
集成Microsoft Azure Data Lake
8、Intra-datanode balancer
數(shù)據(jù)節(jié)點(diǎn)內(nèi)在均衡器,之前單個(gè)數(shù)據(jù)節(jié)點(diǎn)是可以管理多個(gè)磁盤(pán)目錄的。正常寫(xiě)入操作,各磁盤(pán)會(huì)被均勻填滿。然而,當(dāng)添加或替換磁盤(pán)時(shí)可能導(dǎo)致DataNode嚴(yán)重內(nèi)斜。
這種情況現(xiàn)有的HDFS balancer是無(wú)法處理的。這種情況是由新intra-DataNode平衡功能來(lái)處理。通過(guò)hdfs diskbalancer CLI來(lái)調(diào)用。
9、Reworked daemon and task heap management
Hadoop守護(hù)進(jìn)程和MapReduce任務(wù)堆內(nèi)存管理的一系列變化。
HADOOP-10950
介紹了配置守護(hù)集成heap大小的新方法。主機(jī)內(nèi)存大小可以自動(dòng)調(diào)整,HADOOP_HEAPSIZE已棄用。
MAPREDUCE-5785
map和reduce task堆大小的配置方法,所需的堆大小不再需要通過(guò)任務(wù)配置和Java選項(xiàng)實(shí)現(xiàn)。已經(jīng)指定的現(xiàn)有配置不受此更改影響。
【本文為51CTO專欄作者“王森豐”的原創(chuàng)稿件,轉(zhuǎn)載請(qǐng)注明出處】
















 
 
 

 
 
 
 