hadoop3.x介紹


Hadoop 3.x的發展Hadoop版本包括Hadoop 1.x、Hadoop 2.x和Hadoop 3.x。本節將以Hadoop 3.1.0為例,完成HDFS高可用的搭建。

Hadoop 3新特性

Hadoop 3.1.0 GA版本於2017年12月份正式發布。Hadoop 3相較於Hadoop 2有一些新特性,包括基於JDK 1.8、HDFS可擦除編碼、MR Native Task優化、基於Cgroup的內存隔離和IO Disk隔離,以及支持更改分配容器的資源Containerresizing等。

Hadoop 3的新特性介紹如下。

1.classpath isolation

防止不同版本的JAR包發生沖突。

2.Shell重寫

啟動腳本和Hadoop 2.x不同。

3.支持HDFS中的擦除編碼

主要用於做數據恢復,這一特性使HDFS的存儲節省了一半空間,同時還不降低可靠性。擦除編碼目前主要針對的是大數據塊。

擦除編碼的工作原理是把存儲系統接收到的大塊數據進行切割並且編碼,接着再對切割之后的數據進行再次切割並編碼,持續重復這個操作,直到數據切割到合適的數據塊大小為止,這樣數據塊就分散成多個數據塊,再進行冗余校驗,把不重復的數據塊和編碼寫到存儲系統中。

4.MapReduce任務級本地優化

提高MR的執行速度,Hadoop 3為MapReduce增加了基於C/C++的map outputcollector。

5.MapReduce內存參數自動推斷

Hadoop 2.x中通過配置mapreduce.{map,reduce}.memory.mb和mapreduce.{map.reduce}.Java.opts來配置所使用的內存,如果設置不合理,則會使內存資源嚴重浪費,而在Hadoop 3.x中則不需要再配置。

6.端口區別

Hadoop 2和Hadoop 3的端口區別如表4.1所示。

 

 Hadoop 3 HDFS集群架構

 HDFS集群中包括NameNode、DataNode和SecondaryNameNode,具體介紹如下。

·NameNode:接受客戶端的讀寫服務,比如文件的上傳和下載,保存元數據,包括文件大小、文件創建時間、文件的擁有者、權限、路徑和文件名。元數據存放在內存中,不會和磁盤發生交互。

·DataNode:簡稱DN,與NameNode對應,主要用來存儲數據內容,本地磁盤目錄存儲數據塊(Block),以文件形式分別存儲在不同的DataNode節點上,同時存儲Block的元數據信息文件。

·Secondary NameNode:前面提到NameoNode的元數據存儲在內存中,為了保證數據不丟失,需要將數據保存起來,這里涉及的文件包括fsimage和edits。fsimage是整個元數據文件,在集群剛開始搭建時是空的,對元數據增刪改的操作放到edits文件中。Secondary NameNode完成數據的合並操作,每隔3600秒更新一次。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM