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