Apache Hadoop 2.8.2
Hadoop2.8.2在之前的小版本(hadoop-2.7.3)的release之上構(gòu)建的侈百。
下面是對主要的特性和改進的概述:
Common
? ? 1.支持異步調(diào)用重試和故障轉(zhuǎn)移,它通過重試可以被使用在異步dfs實現(xiàn)中坎穿。
? ? 2.通過一個共同的servlet過濾器队萤,可以為ui提供跨幀腳本(XFS)預防
? ? 3.對S3A進行了改進社付。
? ? 4.WASB改進:增加了append API的支持
? ? 5.構(gòu)建增強:使用包裝的Yetus替換dev-support,提供基于docker的解決方案來設置構(gòu)建環(huán)境,移除CHANGES.txt文件廉赔,重新編寫變更日志和發(fā)布說明青抛。
? ? 6.為LDAP 組映射服務增加posixGroups 的支持
HDFS
? ? 1.WebHDFS功能增強:在WebHDFS中添加CSRF預防過濾器旗闽,在WebHDFS中支持OAuth2功能,通過WebHDFS控制快照功能
? ? 2.允許使用keytab登錄長時間運行的Balancer
? ? 3.添加ReverseXML處理程序蜜另,用于從XML文件中重構(gòu)fsimage适室。這個使得創(chuàng)建用于測試的fsimage變得更加容易,并且可以手動編輯fsimage文件當fsimage文件損壞的時候蚕钦。
? ? 4.支持嵌套加密區(qū)域
? ? 5.DataNode Lifeline Protocol:一個可供選擇的協(xié)議用于報告DataNode的活躍度亭病,這個可以防止在處理心跳延遲的高負載集群中NameNode錯誤的把DataNode標記為stale或者dead狀態(tài)
? ? 6.記錄HDFS的操作者的上行下文到審計日志中
? ? 7.給DataNode增加了停止寫的命令,這個命令在DataNode正在退役但被慢寫阻塞時很有用
YARN
? ? 1.在窗口中增加NodeManagerCPU資源監(jiān)控信息
? ? 2.更加優(yōu)雅的停止NM: 當停止NM時嘶居,NM會主動立即取消到RM的注冊罪帖,而不是等待超時被標記為LOST(如果沒有啟動NM保存功能)
? ? 3.在AM嘗試被卡主的情況下,主動停止指定的AM的嘗試邮屁。
? ? 4.CallerContext支持寫到審計日志中.
? ? 5.ATS版本支持:添加一個新的配置用于表示timeline服務的版本
MAPREDUCE
? ? 1.提交MR作業(yè)時允許指定特定的標簽整袁。
? ? 2.添加了一個用于將聚集的日志到合并成HAR文件的工具。
Apache Hadoop 2.9.0
Hadoop2.9.0在之前的小版本(hadoop-2.8.2)的release之上構(gòu)建的佑吝。
下面是對主要的特性和改進的概述:
Common
? ? 1.HADOOP資源評估器:詳情見 user documentation坐昙。
HDFS
? ? 1.基于HDFS路由的federation。詳情見: user documentation芋忿。
YARN
? ? 1.Yarn Timeline Service v.2炸客。詳情見user documentation.
? ? 3.YARN Federation. 詳情見?user documentation.
? ? 4.Opportunistic Containers. 詳情見?user documentation.
? ? 5.YARN Web UI v.2. 詳情見?user documentation.
? ? 6.通過API改變隊列的配置(只支持容量調(diào)度)疾棵。詳情見 user documentation。
? ? 7.更新已分配或者運行中容器的資源和執(zhí)行類型(只支持容量調(diào)度)痹仙。詳情見user documentation是尔。
Apache Hadoop 3.0.0
Overview
1.最低支持版本從java 7升級到java 8
2.HDFS上支持糾刪碼技術(shù)
????糾刪碼方法比副本機制更加節(jié)省存儲空間,標準的編碼比如?Reed-Solomon (10,4)擁有1.4x空間消耗开仰,相比較副本機制的3x的空間消耗節(jié)省了更多的空間拟枚。
????因為糾刪碼在重構(gòu)的過程中需要額外的開銷,并且主要執(zhí)行遠程讀取众弓,傳統(tǒng)上它用于存儲更冷恩溅,訪問更少的數(shù)據(jù),在部署這個特性時谓娃,用戶應該考慮網(wǎng)絡和CPU的開銷脚乡。
????更多的細節(jié)查看文檔HDFS Erasure Coding。
3.YARN Timeline 服務?v.2
????我們使用簡潔的概覽介紹v.2(alpha 2)版本的YARN timeline服務的主要的修改傻粘。v.2版本的Yarn timeline服務解決了兩個主要的挑戰(zhàn):提高timeline服務的可擴展性和可靠性每窖,通過引入流和聚合增強可用性。
????v.2(alpha 2)版本的YARN timeline服務被提供給用戶和開發(fā)者用于測試它弦悉,并提供反饋和建議用于替代v.1.x版本的timeline服務窒典。它應該只能用在測試的環(huán)境中。
????詳情見YARN Timeline Service v.2
4.?重寫shell腳本
????Hadoop shell腳本已經(jīng)被重寫為了修復長期存在的bug稽莉,并加入了一些新的特性瀑志。雖然重視兼容性,但是一些修改可能會破壞現(xiàn)有的安裝污秆。兼容性的改變被記錄在了release note中劈猪,相關在討論在HADOOP-9902。更詳細的文檔在Unix Shell Guide?良拼。能力很強的用戶也可以去看api文檔?Unix Shell API?战得,他描述了更多的新的關于擴展性的函數(shù)。
5.隱藏客戶端jar包
????在2.x版本的hadoop-client的maven構(gòu)造庸推,將hadoop傳遞依賴項拉到hadoop應用程序的classpath上常侦,如果這些傳遞依賴的版本與應用程序依賴的版本沖突,可能會出現(xiàn)問題贬媒。
????HADOOP-11804?添加了hadoop-client-api和hadoop-client-runtime的jar包聋亡,隱藏 hadoop依賴到單個jar,避免泄露hadoop依賴到應用程序的classpath上际乘。
6.?支持Opportunistic容器和Distributed調(diào)度
????Opportunistic Containers可以在NM沒有空閑的資源的情況下先分配到NM排隊等待執(zhí)行坡倔,當資源滿足條件時就可以開始執(zhí)行,這種容器的優(yōu)先級比默認的Guaranteed容器優(yōu)先級低,因此如果需要的話罪塔,會騰出空間給Guaranteed容器先執(zhí)行投蝉,這個可以提高集群的利用率。
????Opportunistic 容器是默認被配置在集中式RM中征堪,但是也支持實現(xiàn)了AMRMProtocol 攔截器的分布式調(diào)度墓拜。詳情見documentation。
7.MapReduce任務級別的本地優(yōu)化
????MapReduce已經(jīng)添加了支持本地map輸出收集器的實現(xiàn)请契,對于shuffle密集型的作業(yè),這個可以提升性能30%以上夏醉,詳情見 MAPREDUCE-2841爽锥。
8.?支持超過2個NameNode
????在最初實現(xiàn)的HDFS高可靠的時候只有一個Active的NameNode和一個Standby的NameNode,通過發(fā)送editlog到JournalNode畔柔,可以容忍一個NameNode掛掉氯夷。
????然而,有些部署需要更高程度的容錯靶擦,在這個新特性中允許用戶運行多個Standby NameNode腮考。例如:配置3個NameNode,5個JournalNode玄捕,集群可以容忍失敗2個節(jié)點而不是1個.具體配置見HDFS high-availability documentation
9.支持微軟的 Azure Data Lake和阿里云的Object Storage System
10.Intra-datanode平衡器
????一個DataNode可以管理多個磁盤踩蔚。在正常的寫操作下,數(shù)據(jù)會被均勻的寫到各個磁盤枚粘。但是馅闽,添加或者替換磁盤會導致嚴重的傾斜,通過HDFS balancer是處理不了這個問題的馍迄,它關心的是datanode之間的數(shù)據(jù)是否傾斜福也,而不是DataNode內(nèi)部的數(shù)據(jù)是否傾斜。
????這種情況被處理通過intra-DataNode平衡功能攀圈,他是通過命令 hdfs diskbalancer?CLI 被調(diào)起來的暴凑,詳情見磁盤平衡部分HDFS Commands Guide。
11.?修改了守護進程和任務堆管理器
????對于hadoop的守護進程和MapReduce任務的堆內(nèi)存管理器進行了一系列的改變赘来。
????HADOOP-10950介紹了配置守護進程堆大小的新的方法现喳。尤其,自動調(diào)優(yōu)可能基于主機的內(nèi)存大小撕捍,HADOOP_HEAPSIZE變量已經(jīng)過時了拿穴。
????MAPREDUCE-5785簡化了配置map和reduce任務堆內(nèi)存的大小,因此對于任務的堆內(nèi)存大小的參數(shù)不再需要指定了忧风,已經(jīng)指定了堆大小參數(shù)的配置不受這個改變的影響默色。
12.?基于HDFS路由的Federation
????基于HDFS路由的Federation添加了一個RPC路由層用于訪問多個HDFS命名空間,這個和已經(jīng)存在的ViewFs很像,不同的是由路由層管理的掛載表被放到了服務器端而不是客戶端腿宰,這個簡化了客戶端對聯(lián)邦集群的訪問呕诉。詳情見HDFS-10467和HDFS Router-based Federation?documentation。
13.基于API配置容量調(diào)度隊列
????OrgQueue擴展了容量調(diào)度吃度,提供了通過程序調(diào)用REST API去改變隊列的配置信息甩挫,這使得管理員可以動態(tài)的管理隊列配置文件。詳見YARN-5734?和Capacity Scheduler documentation
14.YARN資源類型
????Yarn的資源模型已經(jīng)普遍可以支持用戶定義椿每,而不僅僅是CPU和內(nèi)存這些可計算的資源類型伊者,例如:管理員可以定義 GPU、軟件許可證或者本地附件存儲间护。Yarn任務可以調(diào)度這些有效的資源亦渗。詳見 YARN-3926和YARN resource model documentation。
Apache Hadoop 3.1.0
????Hadoop3.1.0在之前的小版本(hadoop-3.0)的release之上集成很多重要的增強功能汁尺。
Overview
1.Yarn服務器框架提供了一流的支持和APIs用于在yarn中本地托管長時間運行的服務法精。
????簡單的說,他作為一個容器的服務調(diào)度平臺痴突,用于管理yarn上的容器化的服務搂蜓。在yarn中支持docker容器和傳統(tǒng)的基于容器的進程。詳情見 user documentation辽装。
2.?一流的GPU調(diào)度和隔離
????在yarn上支持一流的GPU調(diào)度和隔離(docker和非docker容器都支持)帮碰,詳見 user documentation。
3.?一流的FPGA調(diào)度和隔離
????在yarn上支持一流的FPGA調(diào)度和隔離(docker和非docker容器都支持)如迟,詳見 user documentation收毫。
4.?在yarn中支持更富有表現(xiàn)力的放置約束。
????在yarn中支持更富有表現(xiàn)力的放置約束殷勘,這些約束在application的性能和彈性方面具有決定性的作用此再,尤其是在長時間運行的容器方面,例如:服務類型的作業(yè)玲销,機器學習和流類型的作業(yè)等输拇。
????比如說,該放置約束在下面的方面是有益的贤斜,給一個作業(yè)集中分配到相同的機架上(affinity約束)減少網(wǎng)絡開銷策吠,跨機器的分散分配(anti-affinity約束)用于最小化的資源干擾,允許在節(jié)點組中指定數(shù)量的分配(cardinality?約束)用于在兩者之間取得平衡瘩绒。
????放置約束在彈性方面也有影響猴抹,例如,位于相同集群升級域的分配將會同時下線锁荔。
????詳情見user documentation蟀给。
5.支持指定隊列使用的絕對資源
????支持管理員指定隊列的絕對資源(X Memory, Y VCores, Z GPUs, etc.)替代之前的基于百分比的值,這給管理員提供了更好的方式控制給定隊列的資源數(shù)量。詳情見user documentation跋理。
6.支持外部數(shù)據(jù)映射到hdfs
????提供了一種存儲择克,該存儲允許保存在hdfs外部的數(shù)據(jù)映射到hdfs,并且從hdfs尋址前普。該存儲是建立在異構(gòu)存儲之上肚邢,通過在DataNode的異構(gòu)存儲介質(zhì)中添加了一個新的存儲類型PROVIDED實現(xiàn)的。詳情見user documentation拭卿。
Apache Hadoop 3.2.0
????Hadoop3.2.0在之前的小版本(hadoop-3.1)的release之上集成很多重要的增強功能骡湖。
????這是3.2系列的第一個發(fā)布版本,他還沒有完全可用峻厚,還沒有準備好用于生產(chǎn)中勺鸦。
Overview
????鼓勵用戶閱讀完整的發(fā)布說明,該頁面提供了主要更改的概述目木。
1.在yarn中支持節(jié)點屬性
????節(jié)點屬性有助于根據(jù)節(jié)點的屬性在節(jié)點上標記多個標簽,支持基于這些標簽的表達式放置容器懊渡。詳情見Node Attributes刽射。
2.支持Hadoop Submarine運行在yarn上
????Hadoop Submarine允許數(shù)據(jù)工程師很容易的在數(shù)據(jù)所在的yarn集群中開發(fā)、訓練和部署深度學習模型(在TensorFlow中)剃执。詳情見 Hadoop Submarine
3.存儲策略滿意因子
????當在文件/目錄上設置存儲策略后誓禁,支持hdfs應用程序在不同的存儲類型之間移動塊。詳情見 Storage Policy Satisfier肾档。
4.ABFS文件系統(tǒng)連接器
????支持最新的Azure Datalake Gen2 Storage摹恰。
5.增強的S3A連接器
????支持增強的S3A連接器,包括更好的彈性的限制AWS S3和DynamoDB的IO怒见。
6.升級yarn的長時間運行服務功能
????支持通過yarn本地服務API和CLI對長時間運行的容器進行就地無縫升級俗慈。詳情見 YARN Service Upgrade。