91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Hadoop分布式文件系統中架構和設計知識點有哪些

發布時間:2021-12-10 11:41:45 來源:億速云 閱讀:104 作者:iii 欄目:開發技術

本篇內容介紹了“Hadoop分布式文件系統中架構和設計知識點有哪些”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

一、健壯性
Hadoop分布式文件系統HDFS的主要目標就是實現在失敗情況下的數據存儲可靠性。常見的三種失敗:Namenodefailures,Datanodefailures和網絡分割(networkpartitions)。
1、硬盤數據錯誤、心跳檢測和重新復制
每個Datanode節點都向Namenode周期性地發送心跳包。網絡切割可能導致一部分Datanode跟Namenode失去聯系。Namenode通過心跳包的缺失檢測到這一情況,并將這些Datanode標記為dead,不會將新的IO請求發給它們。寄存在deadDatanode上的任何數據將不再有效。Datanode的死亡可能引起一些block的副本數目低于指定值,Namenode不斷地跟蹤需要復制的block,在任何需要的情況下啟動復制。在下列情況可能需要重新復制:某個Datanode節點失效,某個副本遭到損壞,Datanode上的硬盤錯誤,或者文件的replication因子增大。

2、集群均衡
HDFS支持數據的均衡計劃,如果某個Datanode節點上的空閑空間低于特定的臨界點,那么就會啟動一個計劃自動地將數據從一個Datanode搬移到空閑的Datanode。當對某個文件的請求突然增加,那么也可能啟動一個計劃創建該文件新的副本,并分布到集群中以滿足應用的要求。這些均衡計劃目前還沒有實現。

3、數據完整性
從某個Datanode獲取的數據塊有可能是損壞的,這個損壞可能是由于Datanode的存儲設備錯誤、網絡錯誤或者軟件bug造成的。HDFS客戶端軟件實現了HDFS文件內容的校驗和。當某個客戶端創建一個新的Hadoop分布式文件系統HDFS文件,會計算這個文件每個block的校驗和,并作為一個單獨的隱藏文件保存這些校驗和在同一個HDFSnamespace下。當客戶端檢索文件內容,它會確認從Datanode獲取的數據跟相應的校驗和文件中的校驗和是否匹配,如果不匹配,客戶端可以選擇從其他Datanode獲取該block的副本。

4、元數據磁盤錯誤
FsImage和Editlog是HDFS的核心數據結構。這些文件如果損壞了,整個HDFS實例都將失效。因而,Namenode可以配置成支持維護多個FsImage和Editlog的拷貝。任何對FsImage或者Editlog的修改,都將同步到它們的副本上。這個同步操作可能會降低Namenode每秒能支持處理的namespace事務。這個代價是可以接受的,因為HDFS是數據密集的,而非元數據密集。當Namenode重啟的時候,它總是選取最近的一致的FsImage和Editlog使用。
Namenode在HDFS是單點存在,如果Namenode所在的機器錯誤,手工的干預是必須的。目前,在另一臺機器上重啟因故障而停止服務的Namenode這個功能還沒實現。

5、快照
快照支持某個時間的數據拷貝,當HDFS數據損壞的時候,可以恢復到過去一個已知正確的時間點。HDFS目前還不支持快照功能。

二、數據組織

1、數據塊
兼容Hadoop分布式文件系統(HDFS)的應用都是處理大數據集合的。這些應用都是寫數據一次,讀卻是一次到多次,并且讀的速度要滿足流式讀。HDFS支持文件的write-once-read-many語義。一個典型的block大小是64MB,因而,文件總是按照64M切分成chunk,每個chunk存儲于不同的Datanode

2、步驟
某個客戶端創建文件的請求其實并沒有立即發給Namenode,事實上,HDFS客戶端會將文件數據緩存到本地的一個臨時文件。應用的寫被透明地重定向到這個臨時文件。當這個臨時文件累積的數據超過一個block的大小(默認64M),客戶端才會聯系Namenode。Namenode將文件名插入文件系統的層次結構中,并且分配一個數據塊給它,然后返回Datanode的標識符和目標數據塊給客戶端。客戶端將本地臨時文件flush到指定的Datanode上。當文件關閉時,在臨時文件中剩余的沒有flush的數據也會傳輸到指定的Datanode,然后客戶端告訴Namenode文件已經關閉。此時Namenode才將文件創建操作提交到持久存儲。如果Namenode在文件關閉前掛了,該文件將丟失。
上述方法是對通過對HDFS上運行的目標應用認真考慮的結果。如果不采用客戶端緩存,由于網絡速度和網絡堵塞會對吞估量造成比較大的影響。

3、流水線復制
當某個客戶端向HDFS文件寫數據的時候,一開始是寫入本地臨時文件,假設該文件的replication因子設置為3,那么客戶端會從Namenode獲取一張Datanode列表來存放副本。然后客戶端開始向***個Datanode傳輸數據,***個Datanode一小部分一小部分(4kb)地接收數據,將每個部分寫入本地倉庫,并且同時傳輸該部分到第二個Datanode節點。第二個Datanode也是這樣,邊收邊傳,一小部分一小部分地收,存儲在本地倉庫,同時傳給第三個Datanode,第三個Datanode就僅僅是接收并存儲了。這就是流水線式的復制。

三、可訪問性
Hadoop分布式文件系統(HDFS)給應用提供了多種訪問方式,可以通過DFSShell通過命令行與HDFS數據進行交互,可以通過javaAPI調用,也可以通過C語言的封裝API訪問,并且提供了瀏覽器訪問的方式。正在開發通過WebDav協議訪問的方式。具體使用參考文檔。

四、空間的回收

1、文件的刪除和恢復
用戶或者應用刪除某個文件,這個文件并沒有立刻從HDFS中刪除。相反,HDFS將這個文件重命名,并轉移到/trash目錄。當文件還在/trash目錄時,該文件可以被迅速地恢復。文件在/trash中保存的時間是可配置的,當超過這個時間,Namenode就會將該文件從namespace中刪除。文件的刪除,也將釋放關聯該文件的數據塊。注意到,在文件被用戶刪除和HDFS空閑空間的增加之間會有一個等待時間延遲。
當被刪除的文件還保留在/trash目錄中的時候,如果用戶想恢復這個文件,可以檢索瀏覽/trash目錄并檢索該文件。/trash目錄僅僅保存被刪除文件的最近一次拷貝。/trash目錄與其他文件目錄沒有什么不同,除了一點:HDFS在該目錄上應用了一個特殊的策略來自動刪除文件,目前的默認策略是刪除保留超過6小時的文件,這個策略以后會定義成可配置的接口。

2、Replication因子的減小
當某個文件的replication因子減小,Namenode會選擇要刪除的過剩的副本。下次心跳檢測就將該信息傳遞給Datanode,Datanode就會移除相應的block并釋放空間,同樣,在調用setReplication方法和集群中的空閑空間增加之間會有一個時間延遲。

“Hadoop分布式文件系統中架構和設計知識點有哪些”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

丁青县| 星子县| 纳雍县| 微博| 新田县| 秦安县| 崇明县| 佳木斯市| 柳林县| 大城县| 延川县| 榆林市| 四会市| 禹城市| 黄山市| 晋州市| 寻甸| 武义县| 买车| 富宁县| 钟山县| 乌兰察布市| 元阳县| 宝应县| 辉南县| 衡山县| 英山县| 嘉义市| 陇西县| 嘉黎县| 九龙坡区| 千阳县| 波密县| 宜兰市| 文山县| 繁峙县| 加查县| 乐安县| 义乌市| 康乐县| 稻城县|