一分尸、什么是糾錯(cuò)碼
提起糾錯(cuò)碼就有必要提起HDFS中多副本策略锦聊。在多副本策略下,HDFS中儲(chǔ)存文件箩绍,要存儲(chǔ)三份相同文件孔庭,如果當(dāng)前文件出現(xiàn)丟失,可以通過其他副本進(jìn)行復(fù)制材蛛,恢復(fù)回來圆到。但是磁盤的利用率不高,僅為1/3卑吭。
在Hadoop3.x之后就引入了糾刪碼技術(shù)(Erasure Coding)
糾刪碼技術(shù)(Erasure coding)簡(jiǎn)稱EC芽淡,是一種編碼容錯(cuò)技術(shù)。最早用于通信行業(yè)豆赏,數(shù)據(jù)傳輸中的數(shù)據(jù)恢復(fù)挣菲。它通過對(duì)數(shù)據(jù)進(jìn)行分塊,然后計(jì)算出校驗(yàn)數(shù)據(jù)掷邦,使得各個(gè)部分的數(shù)據(jù)產(chǎn)生關(guān)聯(lián)性白胀。當(dāng)一部分?jǐn)?shù)據(jù)塊丟失時(shí),可以通過剩余的數(shù)據(jù)塊和校驗(yàn)塊計(jì)算出丟失的數(shù)據(jù)塊抚岗。
二或杠、糾錯(cuò)碼優(yōu)缺點(diǎn)
優(yōu)點(diǎn)
1.客戶端緩存數(shù)據(jù)較少;
2.無論文件大小都適用宣蔚;
缺點(diǎn)
1.網(wǎng)絡(luò)帶寬的消耗廷痘,因?yàn)閿?shù)據(jù)恢復(fù)需要去讀其他的數(shù)據(jù)塊和校驗(yàn)塊;
2.進(jìn)行編碼件已,解碼計(jì)算需要消耗CPU資源笋额;
三、糾刪碼策略
RS-3-2-1024k:每組數(shù)據(jù)包含3個(gè)數(shù)據(jù)塊和2個(gè)校驗(yàn)塊篷扩,一共5個(gè)塊兄猩,存儲(chǔ)使用效率3/5=60%,一個(gè)集群最小datanode數(shù)量為5,可允許2個(gè)datanode同時(shí)離線不影響應(yīng)用訪問數(shù)據(jù)枢冤;
RS-6-3-1024k:每組數(shù)據(jù)包含6個(gè)數(shù)據(jù)塊和3個(gè)校驗(yàn)塊鸠姨,一共9個(gè)塊,存儲(chǔ)使用效率6/9=67%淹真,一個(gè)集群最小datanode數(shù)量為9讶迁,可允許3個(gè)datanode同時(shí)離線不影響應(yīng)用訪問數(shù)據(jù);
RS-10-4-1024k:每組數(shù)據(jù)包含10個(gè)數(shù)據(jù)塊和4個(gè)校驗(yàn)塊核蘸,一共14個(gè)塊巍糯,存儲(chǔ)使用效率10/14=71%,一個(gè)集群最小datanode數(shù)量為14客扎,可允許4個(gè)datanode同時(shí)離線不影響應(yīng)用訪問數(shù)據(jù)祟峦;