hadoop各版本特性

0.14.1

HDFS中更好的校驗和。校驗和不再存儲在並行HDFS文件中,而是由數據節點與塊一起直接存儲。這對於命名節點更加有效,並且還提高了數據完整性。
管道:MapReduce的C ++ API
Eclipse插件,包括HDFS瀏覽,作業監視等。
HDFS中的文件修改時間。

1.0

安全
HBase(append / hsynch / hflush和安全性)
webhdfs(全面支持安全性)
性能增強了對HBase對本地文件的訪問
其他性能增強,錯誤修復和功能

1.1

從主幹向後移植HDFS的許多性能改進
使用SPNEGO而不是Kerberized SSL進行HTTP事務的安全性方面的改進
將任務跟蹤器的默認最小心跳從3秒降低到300毫秒,以增加小型集羣上的作業吞吐量
Gridmix v3的端口
在hadoop-config.sh中設置MALLOC_ARENA_MAX以解決RHEL-6中的glibc問題
可拆分的bzip2文件
當然,它也具有與1.0.4版相同的安全修復程序。

1.2

DistCp v2向後移植
JobTracker的Web服務
WebHDFS增強功能
任務放置和副本放置策略接口的擴展
向後移植脫機圖像查看器
名稱節點在編輯日誌損壞的情況下更強大
將節點組級別添加到NetworkTopology
將“未設置”添加到配置API

2.0

HDFS HA for NameNode (manual failover)
YARN aka NextGen MapReduce
HDFS Federation
Performance
Wire-compatibility for both HDFS and YARN/MapReduce (using protobufs)

2.2

YARN-Hadoop的通用資源管理系統,允許MapReduce和其他其他數據處理框架和服務
HDFS的高可用性
HDFS聯盟
HDFS快照
NFSv3訪問HDFS中的數據
支持在Microsoft Windows上運行Hadoop
在hadoop-1.x上構建的MapReduce應用程序的二進制兼容性
與生態系統中其他項目的大量集成測試

2.3

支持HDFS中的異構存儲層次結構。
HDFS數據的內存中緩存,具有集中式管理和管理功能。
通過YARN分佈式緩存中的HDFS簡化了MapReduce二進制文件的分發。

2.4

支持HDFS中的訪問控制列表
對HDFS中的滾動升級的本機支持
爲HDFS FSImage使用協議緩衝區以實現平穩的操作升級
HDFS中完整的HTTPS支持
支持YARN ResourceManager的自動故障轉移
使用應用程序歷史記錄服務器和應用程序時間軸服務器增強了對YARN上新應用程序的支持
通過搶佔支持YARN CapacityScheduler中的強大SLA

2.5

使用HTTP代理服務器時的身份驗證改進。
一個新的Hadoop Metrics接收器,允許直接寫入Graphite。
Hadoop兼容文件系統工作規範。
支持POSIX樣式的文件系統擴展屬性。
OfflineImageViewer通過WebHDFS API瀏覽fsimage。
NFS網關的可支持性改進和錯誤修復。
HDFS守護程序的現代化Web UI(HTML5和Javascript)。
YARN的REST API支持提交和殺死應用程序。
YARN的時間軸存儲的Kerberos集成。
FairScheduler允許在運行時在任何指定的父隊列下創建用戶隊列。

2.6

Hadoop常見
HADOOP-10433-密鑰管理服務器(測試版)
HADOOP-10607-憑據提供程序(測試版)
Hadoop HDFS
異構存儲層-第二階段
HDFS-5682-用於異構存儲的應用程序API
HDFS-7228 -SSD存儲層
HDFS-5851-內存作爲存儲層(測試版)
HDFS-6584-支持檔案存儲
HDFS-6134-透明的靜態數據加密(測試版)
HDFS- 2856-在無需root用戶訪問的情況下操作安全的DataNode
HDFS-6740-熱插拔驅動器:支持添加/刪除數據節點卷,而無需重新啓動數據節點(測試版)
HDFS-6606 -AES支持更快的線路加密
Hadoopyarn
YARN-896-在YARN中支持長期運行的服務
YARN-913-應用程序的服務註冊表
YARN-666-支持滾動升級
YARN-556 -ResourceManager的工作保留重啓
YARN-1336 -NodeManager的保留容器重新啓動
YARN-796-調度期間的支持節點標籤
YARN-1051-在Capacity Scheduler(beta)中支持基於時間的資源保留
YARN-1964-支持在Docker容器中本地運行應用程序(alpha)

2.7

此版本放棄了對JDK6運行時的支持,並且僅與JDK 7+一起使用。
此版本尚未準備好用於生產。關鍵問題正在通過測試和下游採用得到解決。生產用戶應等待2.7。1 / 2 .7.2釋放。
Hadoop常見
HADOOP-9629-支持Windows Azure存儲-Blob作爲Hadoop中的文件系統。
Hadoop HDFS
HDFS-3107-支持文件截斷
HDFS-7584-支持每種存儲類型的配額
HDFS-3689-支持具有可變長度塊的文件
Hadoopyarn
YARN-3100-使YARN授權可插入
YARN-1492 -YARN本地化資源的自動共享,全局緩存(測試版)
Hadoop MapReduce
MAPREDUCE-5583-能夠限制作業的正在運行的Map / Reduce任務
MAPREDUCE-4815-對於具有許多輸出文件的超大型作業,可以加快FileOutputCommitter的速度。

2.8

共同

支持異步呼叫重試和故障轉移,可在重試工作中用於異步DFS實現。
可以通過通用的servlet過濾器爲UI提供跨框架腳本(XFS)防護。
S3A改進:增加了插入任何AWSCredentialsProvider的功能,除了XML配置文件之外,還支持從hadoop憑據提供程序API讀取s3a憑據,支持Amazon STS臨時憑據
WASB的改進:添加了附加API支持
Build增強功能:將開發支持替換爲Yetus的包裝,提供基於docker的解決方案來設置構建環境,刪除CHANGES.txt並重新制作更改日誌和發行說明。
添加對LDAP組映射服務的posixGroups支持。
支持與Azure數據湖(ADL)集成,作爲與Hadoop兼容的替代文件系統。

HDFS

WebHDFS增強功能:在WebHDFS中集成CSRF預防過濾器,在WebHDFS中支持OAuth2,通過WebHDFS禁用/允許快照
允許長時間運行的Balancer使用keytab登錄
添加ReverseXML處理器,該處理器從XML文件重建fsimage。這將使創建fsimage進行測試變得容易,並且在損壞時手動編輯fsimage。
支持嵌套加密區域
DataNode生命線協議:一種用於報告DataNode活躍度的替代協議。這可以防止NameNode在心跳處理受到延遲的高度過載的羣集中錯誤地將DataNode標記爲陳舊或死機。
將HDFS操作的調用者上下文記錄到審覈日誌中
一個新的Datanode命令,用於驅逐寫入器,該命令在緩慢的寫入器阻止數據節點退役時很有用。

yarn

Windows中的NodeManager CPU資源監視。
NM關閉更加順暢:NM將立即註銷到RM,而不是等待超時成爲LOST(如果未啓用NM工作保留)。
添加了在AM嘗試卡住的情況下使特定AM嘗試失敗的功能。
YARN審覈日誌中的CallerContext支持。
ATS版本控制支持:一種新的配置,用於指示時間軸服務版本。
映射還原

允許節點標籤在提交MR作業時被指定
添加新工具以將彙總的日誌合併到HAR文件中

2.9

共同

HADOOP資源估計器。有關更多詳細信息,請參見用戶文檔。
HDFS

基於HDFS路由器的聯盟。有關更多詳細信息,請參見用戶文檔。
yarn

YARN時間軸服務v.2。有關更多詳細信息,請參見用戶文檔。
yarn聯合會。有關更多詳細信息,請參見用戶文檔。
機會容器。有關更多詳細信息,請參見用戶文檔。
YARN Web UI v.2。有關更多詳細信息,請參見用戶文檔。
通過API更改隊列配置(僅在Capacity Scheduler上受支持)。有關更多詳細信息,請參見用戶文檔。
更新已分配/正在運行的容器的資源和執行類型(僅在Capacity Scheduler上受支持)。有關更多詳細信息,請參見用戶文檔。

3.0

最低要求的Java版本從Java 7增加到Java 8
現在已針對Java 8的運行時版本編譯了所有Hadoop JAR。仍在使用Java 7或更低版​​本的用戶必須升級到Java 8。

支持HDFS中的擦除編碼
與複製相比,擦除編碼是一種持久存儲數據的方法,可節省大量空間。與標準HDFS複製的3倍開銷相比,像Reed-Solomon(10,4)這樣的標準編碼的空間開銷爲1.4倍。

由於擦除編碼在重建期間會帶來額外的開銷,並且大部分執行遠程讀取,因此傳統上已將其用於存儲較冷,訪問頻率較低的數據。用戶在部署此功能時應考慮擦除編碼的網絡和CPU開銷。

HDFS刪除編碼文檔中提供了更多詳細信息。

YARN時間軸服務v.2
我們正在介紹YARN時間軸服務主要版本:v.2的早期預覽(alpha 2)。YARN Timeline Service v.2解決了兩個主要挑戰:提高Timeline Service的可伸縮性和可靠性,以及通過引入流和聚合來增強可用性。

提供了YARN Timeline Service v.2 alpha 2,以便用戶和開發人員可以對其進行測試並提供反饋和建議,以使其可以替代Timeline Servicev.1.x。僅應以測試能力使用。

YARN時間軸服務v.2文檔中提供了更多詳細信息。

Shell腳本重寫
Hadoop Shell腳本已被重寫,以修復許多長期存在的錯誤幷包括一些新功能。儘管一直在尋求兼容性,但是某些更改可能會破壞現有的安裝。

不兼容的更改記錄在發行說明中,並在HADOOP-9902上進行了相關討論。

Unix Shell指南文檔中提供了更多詳細信息。高級用戶也將對Unix Shell API文檔感到滿意,該文檔描述了許多新功能,尤其是與可擴展性有關的功能。

帶陰影的客戶罐
2.x版本中提供的hadoop-client Maven工件將Hadoop的可傳遞依賴項拉到Hadoop應用程序的類路徑中。如果這些傳遞依賴項的版本與應用程序使用的版本衝突,則可能會出現問題

HADOOP-11804添加了新的hadoop-client-api和hadoop-client-runtime工件,將Hadoop的依賴項隱藏在一個jar中。這樣可以避免將Hadoop的依賴項泄漏到應用程序的類路徑中。

支持機會容器和分佈式計劃。
引入了ExecutionType的概念,應用程序現在可以請求執行類型爲Opportunistic的容器。即使調度時沒有可用資源,也可以在NM上調度這種類型的容器以執行。在這種情況下,這些容器將在NM處排隊,等待資源可用以啓動它。機會容器的優先級比默認的“ 保證”容器低,因此如果需要,可以搶佔機會以爲“保證”容器騰出空間。這將提高羣集利用率。

默認情況下,機會容器由中央RM分配,但是還添加了支持,以允許由實現爲AMRMProtocol攔截器的分佈式調度程序分配機會容器。

請參閱文檔以獲取更多詳細信息。

MapReduce任務級本機優化
MapReduce增加了對地圖輸出收集器的本機實現的支持。對於洗牌密集型工作,這可以使性能提高30%或更多。

有關更多詳細信息,請參見MAPREDUCE-2841的發行說明。

支持兩個以上的NameNode。
HDFS NameNode高可用性的初始實現是爲單個活動NameNode和單個Standby NameNode提供的。通過將編輯複製到法定數量的三個JournalNode,該體系結構能夠容忍系統中任何一個節點的故障。
但是,某些部署需要更高的容錯度。這項新功能啓用了此功能,該功能允許用戶運行多個備用NameNode。
例如,通過配置三個NameNode和五個JournalNode,羣集可以承受兩個節點的故障,而不僅僅是一個節點的故障。

在HDFS高可用性文檔已經更新了關於如何配置兩個以上NameNodes更多的指令。

多個服務的默認端口已更改。
以前,多個Hadoop服務的默認端口在Linux臨時端口範圍內(32768-61000)。這意味着在啓動時,服務有時會由於與另一個應用程序的衝突而無法綁定到端口。

這些衝突的端口已移出臨時範圍,從而影響NameNode,Secondary NameNode,DataNode和KMS。我們的文檔已適當更新,但請參閱HDFS-9427和HADOOP-12811的發行說明,以獲取端口更改列表。

支持Microsoft Azure Data Lake和Aliyun對象存儲系統文件系統連接器
Hadoop現在支持與Microsoft Azure數據湖和Aliyun對象存儲系統集成,作爲與Hadoop兼容的替代文件系統。

數據內節點平衡器
單個DataNode可管理多個磁盤。在正常的寫操作過程中,磁盤將被均勻填充。但是,添加或替換磁盤可能會導致DataNode內部出現嚴重偏差。現有的HDFS平衡器無法處理這種情況,該平衡器自身涉及DN之間的偏移,而不涉及內部DN偏移。

這種情況由新的內部DataNode平衡功能處理,該功能通過hdfs diskbalancer CLI 調用。有關更多信息,請參見《HDFS命令指南》中的磁盤平衡器部分。

重做的守護程序和任務堆管理
對Hadoop守護程序以及MapReduce任務的堆管理進行了一系列更改。

HADOOP-10950引入了用於配置守護程序堆大小的新方法。值得注意的是,現在可以根據主機的內存大小進行自動調整,並且不建議使用HADOOP_HEAPSIZE變量。有關更多詳細信息,請參見HADOOP-10950的完整發行說明。

MAPREDUCE-5785簡化了map的配置並減小了任務堆大小,因此不再需要在任務配置和Java選項中都指定所需的堆大小。已經指定兩者的現有配置不受此更改的影響。有關更多詳細信息,請參見MAPREDUCE-5785的完整發行說明。

S3Guard:S3A文件系統客戶端的一致性和元數據緩存
HADOOP-13345向Amazon S3存儲的S3A客戶端添加了一項可選功能:能夠將DynamoDB表用作文件和目錄元數據的快速且一致的存儲。

有關更多詳細信息,請參見S3Guard。

基於HDFS路由器的聯合
基於HDFS路由器的聯合添加了一個RPC路由層,該層提供了多個HDFS名稱空間的聯合視圖。這與現有的ViewFs和HDFS Federation功能相似,除了安裝表是在服務器端由路由層而不是在客戶端管理的。這簡化了現有HDFS客戶端對聯合羣集的訪問。

有關更多詳細信息,請參見HDFS-10467和基於HDFS路由器的聯合文檔。

Capacity Scheduler隊列配置的基於API的配置
容量調度程序的OrgQueue擴展通過提供用戶可以調用以修改隊列配置的REST API,提供了一種編程方式來更改配置。這使管理員可以在隊列的administer_queue ACL中自動進行隊列配置管理。

有關更多信息,請參見YARN-5734和Capacity Scheduler文檔。

YARN資源類型
YARN資源模型已被通用化,以支持用戶定義的CPU和內存以外的可計數資源類型。例如,集羣管理員可以定義資源,例如GPU,軟件許可證或本地連接的存儲。然後可以根據這些資源的可用性來調度YARN任務。

有關更多信息,請參見YARN-3926和YARN資源模型文檔。

3.1

Yarn Service框架提供了一流的支持和API,以在YARN中本地託管長期運行的服務。

簡而言之,它充當用於在YARN上管理容器化服務的容器編排平臺。它在YARN中支持docker容器和傳統的基於過程的容器。

有關更多詳細信息,請參見用戶文檔。

YARN上一流的GPU調度和隔離(適用於docker / non-docker容器)。

有關更多詳細信息,請參見用戶文檔。

YARN上一流的FPGA調度和隔離(適用於docker / non-docker容器)。

有關更多詳細信息,請參見用戶文檔。

在YARN中支持更具表現力的放置約束。這樣的約束對於應用程序的性能和彈性至關重要,特別是那些包含長期運行的容器(例如服務,機器學習和流工作負載)的應用程序。

例如,將作業的分配放在同一機架上(親和性約束)以減少網絡成本,在機器之間分散分配(反親和性約束)以最大程度地減少資源干擾或允許最多特定數量的分配可能是有益的。節點組中分配的數量(基數約束)以在兩者之間取得平衡。放置決策也會影響彈性。例如,放置在同一羣集升級域中的分配將同時脫機。

有關更多詳細信息,請參見用戶文檔。

支持管理員爲隊列指定絕對資源(X內存,Y VCore,Z GPU等),而不是提供基於百分比的值。這爲管理員提供了更好的控制,以配置給定隊列所需的資源量。

有關更多詳細信息,請參見用戶文檔。

提供的存儲允許將HDFS外部存儲的數據映射到HDFS並從中尋址。通過將新的存儲類型PROVIDED引入DataNode中的媒體集,它基於異構存儲而構建。

有關更多詳細信息,請參見用戶文檔。

3.2

YARN中的節點屬性支持
節點屬性有助於根據節點的屬性在節點上標記多個標籤,並支持基於這些標籤的表達來放置容器。

節點屬性文檔中提供了更多詳細信息。

YARN上的Hadoop潛水艇
Hadoop Submarine使數據工程師可以在數據駐留的同一Hadoop YARN集羣上輕鬆開發,訓練和部署深度學習模型(在TensorFlow中)。

Hadoop Submarine文檔中提供了更多詳細信息。

存儲策略滿意度
支持HDFS(Hadoop分佈式文件系統)應用程序,以便在文件/目錄上設置存儲策略時在存儲類型之間移動塊。

存儲策略滿意度文檔中提供了更多詳細信息。

ABFS文件系統連接器
支持最新的Azure Datalake Gen2存儲。

增強型S3A連接器
支持增強的S3A連接器,包括對受限制的AWS S3和DynamoDB IO的更好的彈性。

升級YARN長期服務
通過YARN本機服務API和CLI支持長期運行的容器的就地無縫升級。

YARN服務升級文檔中提供了更多詳細信息。

參考資料:

https://hadoop.apache.org

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章