HADOOP 3 和 HADOOP 2 的差別 - twilighthook/BigDataNote GitHub Wiki
在HADOOP 3裡面新增了下面幾點的更新
1. JAVA最低需求從 JAVA7 提升到 JAVA8
2. 在HDFS中支援Erasure code(糾纏碼)的實作
Erasure code指的是將N份的數據加上M份的空間編碼(用來儲存erasure編碼),利用矩陣的逆旋轉,可以透過在N+M份的空間中,取出N份還原成原始的數據。
在這之中包含的Encode和Decode的部分,N->N+M是Encode,而這N+M份的資料可以放在不同的設備上,只要有N份以上的資料存在還是可以取得原始資料,代表N+M的erasure編碼可以容忍M份的資料數據故障。
算下來這整體的資料儲存成本是1+(M/N)倍,通常M<N,所以資料儲存成本可以壓到1.X(HADOOP大多預設為3副本,2份本機不同儲存點,1份其他機器),此外也可以確保下載速度和效率,相較於3副本約節省了20%左右。
使用場景:
- 在硬碟RAID6的情形下若是想讓容錯在兩顆硬碟下,可使用N+2的配置,四個則N+4以此類推。
- 在QRcode中為了防止幾個點造成整張圖不可使用也應用到了糾纏碼。
3. YARN Timeline Service版本更新到v.2
YARN Timeline v.2主要改善了時間軸服務的可伸縮性和可靠性,也提供一個測試環境。