[發明專利]一種HDFS運行時數據塊平衡方法有效
| 申請號: | 201210393176.9 | 申請日: | 2012-10-16 |
| 公開(公告)號: | CN102937918A | 公開(公告)日: | 2013-02-20 |
| 發明(設計)人: | 曹海軍;伍衛國;董小社;樊源泉;魏偉;朱霍 | 申請(專利權)人: | 西安交通大學 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50;G06F17/30 |
| 代理公司: | 西安通大專利代理有限責任公司 61200 | 代理人: | 徐文權 |
| 地址: | 710049 *** | 國省代碼: | 陜西;61 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 hdfs 運行 數據 平衡 方法 | ||
技術領域
本發明屬于計算機技術領域,涉及一種數據塊平衡方法,尤其是一種云計算環境下HDFS(Hadoop?Distributed?File?System)在運行過程中數據塊平衡方法。
背景技術
Hadoop是由Apache開源組織開發的一個高可靠性和高可擴展性的存儲與分布式并行計算平臺,最早是作為開源搜索引擎項目Nutch的基礎平臺而開發的,之后從Nutch項目中獨立出來,成為典型的開源云計算平臺之一。Hadoop核心實現了按塊存儲的分布式文件系統(Hadoop?Distributed?File?System,HDFS)以及用于分布式計算的MapReduce計算模型。HDFS為Hadoop集群提供由眾多節點組成的存儲系統,在存儲大規模數據文件時,會將文件切分成多個相同大小的數據塊(最后一份數據塊例外),分布在集群中所有節點上。為了保證可靠性,HDFS會依據配置為每一份數據塊創建多個副本,并放置在集群的不同節點上。HDFS為上層MapReduce計算引擎提供數據存儲服務。Hadoop?MapReduce將應用劃分成許多小任務并行執行,每個小任務就對計算節點本地存儲的數據塊進行處理。
HDFS文件系統采用分塊機制分布式存儲數據集,并通過數據塊冗余策略來提高系統可靠性,每個數據塊在系統中都有多個副本同時存在,這些副本分布在系統中多個機架內的多個節點上,防止因單個節點出現故障造成數據塊的丟失。此外,這種分布式冗余機制能保證文件的并發讀取,使得HDFS更適合“一次寫,多次讀”的數據處理模式。為實現這種數據塊冗余策略,HDFS文件系統在寫入數據時必須保證有多個副本同時寫入。
HDFS文件系統在寫入數據流時需先通過NameNode獲取多個節點構成節點管線,當數據流到達管線中的第一個節點時,該節點存儲數據并發送給管線中的第二個節點。同樣的,第二個節點存儲數據并發送給管線中的第三個節點……以此類推,完成多份副本的寫入。
HDFS文件系統在放置數據塊及其副本時綜合考慮以下幾點:
1)當提交數據的節點也是HDFS文件系統中存儲數據塊的節點時,該節點上放置一份數據塊的備份;
2)一個數據塊的備份必須分布在多個機架上,避免單個機架故障導致整個數據不可用;
3)與提交數據節點處于同一個機架內的其他節點上也必須有數據塊的備份,這樣可以盡量減少機架間的通信和IO開銷;
4)在滿足前面條件的前提下兼顧考慮節點存儲空間的使用率,盡可能保證各個節點存儲使用率平衡。
Hadoop?Map階段是整個MapReduce作業執行的第一階段,主要完成將外部輸入數據轉化為<Key,Value>形式的中間數據,提供給后續Reduce階段作為輸入數據。分布式并行處理環境下,Hadoop?Map階段使用分布式文件系統HDFS作為輸入數據源,并在“移動計算比移動數據更經濟”的指導原則下,將用戶在提交作業時指定的Map處理過程分配到各個HDFS數據塊存儲節點上執行。當某個節點被分配的處理過程所需的輸入數據剛好在該節點上存儲時,稱該處理過程滿足數據本地性。
Hadoop?MapReduce通過節點任務請求分配機制避免了多個數據塊副本重復處理的問題。但從Hadoop?Map階段執行過程的分析可知,Map任務輸入數據的本地性對Map任務的執行速率也會產生很大影響。當Map輸入數據與Map任務執行在同一個節點上時將節省數據塊網絡傳輸開銷,提高Map任務執行速率。在現有Hadoop體系結構中,HDFS數據塊副本的分布狀態通過Hadoop任務調度器直接影響Map任務輸入數據的本地性。
因此,現有的HDFS數據塊放置策略雖然能保證各個節點間的數據塊數量大致平衡,但由于某些數據塊副本的分布不合理,導致某些節點“竊取”其他節點的本地Map任務后,其他節點由于本地Map任務被分配同樣需要“任務竊取”,這種“任務分配偏移”現象進一步加大了Map階段非本地數據的傳輸量,給整個網絡帶來巨大的傳輸壓力,影響整個階段的運行效率。此外,當節點間數據塊數目平衡時,節點任務處理速率不同也會導致出現較大程度的非本地化任務處理。
發明內容
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于西安交通大學,未經西安交通大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210393176.9/2.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





