HDFS分布式文件系統(tǒng)學習(4)
1.1.5 HDFS數(shù)據(jù)完整性保障
HDFS主要目的是保證存儲數(shù)據(jù)完整性,對于各組件的失效,做了可靠性處理。
(1) 重建失效數(shù)據(jù)盤的副本數(shù)據(jù)
DataNode與NameNode之間通過心跳周期匯報數(shù)據(jù)狀態(tài),NameNode管理數(shù)據(jù)塊是否上報完整,如果DataNode因硬盤損壞未上報數(shù)據(jù)塊,NameNode將發(fā)起副本重建動作以恢復丟失的副本。
(2) 集群數(shù)據(jù)均衡
HDFS架構(gòu)設計了數(shù)據(jù)均衡機制,此機制保證數(shù)據(jù)在各個DataNode上分布是平均的。
(3) 元數(shù)據(jù)可靠性保證
采用日志機制操作元數(shù)據(jù),同時元數(shù)據(jù)存放在主備NameNode上。
快照機制實現(xiàn)了文件系統(tǒng)常見的快照機制,保證數(shù)據(jù)誤操作時,能及時恢復。
(4) 安全模式
當節(jié)點硬盤故障時,進入安全模式,HDFS只支持訪問元數(shù)據(jù),此時HDFS上的數(shù)據(jù)是只讀的,其他的操作如創(chuàng)建、刪除文件等操作都會導致失敗。待硬盤問題解決、數(shù)據(jù)恢復后,再退出安全模式。
HDFS3.0新特性
(1) 支持HDFS中的糾刪碼Erasure Coding
Erasure Coding糾刪碼技術(shù)簡稱EC,是一種數(shù)據(jù)保護技術(shù).最早用于通信行業(yè)中數(shù)據(jù)傳輸中的數(shù)據(jù)恢復,是一種編碼容錯技術(shù).他通過在原始數(shù)據(jù)中加入新的校驗數(shù)據(jù),使得各個部分的數(shù)據(jù)產(chǎn)生關(guān)聯(lián)性.在一定范圍的數(shù)據(jù)出錯情況下,通過糾刪碼技術(shù)都可以進行恢復.EC技術(shù)可以防止數(shù)據(jù)丟失,又可以解決HDFS存儲空間翻倍的問題。
創(chuàng)建文件時,將從最近的祖先目錄繼承EC策略,以確定其塊如何存儲。與3路復制相比,默認的EC策略可以節(jié)省50%的存儲空間,同時還可以承受更多的存儲故障。
建議EC存儲用于冷數(shù)據(jù),由于冷數(shù)據(jù)確實數(shù)量大,可以減少副本從而降低存儲空間,另外冷數(shù)據(jù)穩(wěn)定,一旦需要恢復數(shù)據(jù),對業(yè)務不會有太大影響。
(2) 基于HDFS路由器的聯(lián)合
HDFS基于路由器的聯(lián)合會添加一個RPC路由層,提供多個HDFS命名空間的聯(lián)合視圖。這與現(xiàn)有ViewFS和HDFS聯(lián)合功能類似,不同之處在于安裝表由服務器端由路由層而不是客戶端進行管理。這簡化了對現(xiàn)有HDFS客戶端的聯(lián)合集群的訪問。與現(xiàn)有ViewFs和HDFS聯(lián)合功能類似),不同之處在于安裝表由服務器端由路由層而不是客戶端進行管理。這簡化了對現(xiàn)有HDFS客戶端的聯(lián)合集群的訪問。
(3) 支持多個NameNode
允許用戶運行多個備用NameNode。例如,通過配置三個NameNode和五個JournalNode,群集能夠容忍兩個節(jié)點的故障,而不是一個故障。
但是Active的NameNode始終只有1個,余下的都是Standby。 Standby NN會不斷與JN同步,保證自己獲取最新的editlog,并將edits同步到自己維護的image中去,這樣便可以實現(xiàn)熱備,在發(fā)生failover的時候,立馬切換成active狀態(tài),對外提供服務。同時,JN只允許一個active狀態(tài)的NN寫入
(4) DataNode內(nèi)部添加了負載均衡
支持單個Datanode上,不同硬盤間的數(shù)據(jù)balancer。老版本的hadoop只支持在Datanode之間進行balancer,每個節(jié)點內(nèi)部不同硬盤之間若發(fā)生了數(shù)據(jù)不平衡,則沒有一個好的辦法進行處理。現(xiàn)在可以通過hdfs diskbalancer命令,進行節(jié)點內(nèi)部硬盤間的數(shù)據(jù)平衡。該功能默認是關(guān)閉的,需要手動設置參數(shù)dfs.disk.balancer.enabled為true來開啟。
Hadoop 分布式
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。