HDFS的機架感知策略
通常來說大型的Hadoop叢集是以機架的形式來組織的他們分佈在不同的機架上面,同一個機架節點往往透過同一個網路交換機連線,在網路寬頻方面比跨機架通訊有較大優勢。但是如果某一個檔案資料庫同時儲存在同一個機架上面時,可能由於各種故障原因,導致檔案不可用。HDFS採用機架感知策略來改進資料的可靠性、可用性和網路寬度的利用率。
透過機架感知的過程,NameNode可以確定每一個 DataNode所屬的機架id。一個簡單但沒有最佳化的策略就是將副本存放在不同的機架上,這樣可以防止當整個機架失效時資料的丟失,並且允許讀資料的時候充分利用多個機架的頻寬。這種策略設定可以將副本均勻分佈在叢集中,有利於當元件失效的情況下的均勻負載。
也就是說, HDFS系統的機架感知策略的優勢是防止由於某個機架失效導致資料丟失,並且允許讀取資料時充分利用多個機架的頻寬。HDFS會盡量讓讀取任務去讀取距離客戶端最近的副本資料來減少整體頻寬消耗,從而實現降低整體的頻寬延時。
對於副本距離的計算公式,HDFS採用如下約定:
-
Distance(Rack 1/D1 Rack1/D1)=0 //同一臺伺服器的距離為0
-
Distance(Rack 1/D1 Rack1/D3)=2 //通機架不同伺服器的距離為2
-
Distance(Rack 1/D1 Rack2/D1)=4 //不同機架伺服器距離為4
通常而言,一個Rack共享一個電源,一條網線,一個交換機,HDFS備份通常在同一個Rack上儲存一份,在另外一個Rack上儲存兩份(另外:HDFS以block為單位,備份也要以block為單位)
透過機架感知,處於工作狀態的HDFS總是設法確保資料塊的三個副本(或者更多)中至少有兩個在同一機架,至少有一個處在不同機架
而HDFS為每一個block存三份的話,那麼client如何來寫入呢?
當client 寫檔案建立新block之後,Name node會為這個block 建立一整個HDFS cluster 裡獨有的ID,並且決定哪些Data node來儲存這個block的所有備份。被選擇到的Data node會組成一個佇列,client 向佇列的第一個Data node 寫入,第一個Data node除了把資料存在自己的硬碟上以外,還要把資料傳給佇列裡的下一個Data node,直到最後一個Data node接到資料完畢
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69917874/viewspace-2698442/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- HDFS 02 - HDFS 的機制:副本機制、機架感知機制、負載均衡機制負載
- Hadoop安全模式和機架感知Hadoop模式
- Hdfs儲存策略
- HDFS balance策略詳解
- Hadoop的HDFS架構入門Hadoop架構
- HDFS 09 - HDFS NameNode 的高可用機制
- HDFS架構及原理架構
- hadoop實戰4--(hdfs讀流程,hdfs寫流程,副本放置策略)Hadoop
- 感知機模型模型
- Alink漫談(十四) :多層感知機 之 總體架構架構
- 感知機介紹
- 感知機程式碼
- HDFS成員的工作機制
- 淺析HDFS架構和設計架構
- 感知機與支援向量機 (SVM)
- HDFS 01 - HDFS是什麼?它的適用場景有哪些?它的架構是什麼?架構
- HDFS架構指南(分散式系統Hadoop的檔案系統架構)架構分散式Hadoop
- 淺談hdfs架構與資料流架構
- hadoop 原始碼分析HDFS架構演進Hadoop原始碼架構
- 感知機簡單實現
- 感知機(perceptron)原理總結
- 好程式設計師大資料學習路線分享Hadoop機架感知程式設計師大資料Hadoop
- 策略程式的一般架構架構
- HDFS 重要機制之 checkpoint
- HDFS1.x、2.x架構圖架構
- Apache Hadoop文件翻譯之一(HDFS架構)ApacheHadoop架構
- [python學習]機器學習 -- 感知機Python機器學習
- HDFS 05 - HDFS 常用的 Java API 操作JavaAPI
- 林意群:eBay HDFS架構的演進優化實踐架構優化
- 機器視覺之外,機器人的感知補全計劃視覺機器人
- [深度學習]多層感知機(MLP)深度學習
- 圖文詳解 HDFS 的工作機制及其原理
- 手擼機器學習演算法 - 感知機機器學習演算法
- HDFS HA 高可用機制詳解
- 微服務架構中的服務發現策略微服務架構
- HDFS的PID整理
- HDFS 命令:用於管理HDFS的Hadoop Shell命令大全Hadoop
- 分詞工具Hanlp基於感知機的中文分詞框架HanLP中文分詞框架