[發明專利]一種Hadoop分布式文件系統及其管理方法在審
| 申請號: | 201310544570.2 | 申請日: | 2013-11-05 |
| 公開(公告)號: | CN104615606A | 公開(公告)日: | 2015-05-13 |
| 發明(設計)人: | 劉磊 | 申請(專利權)人: | 阿里巴巴集團控股有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京安信方達知識產權代理有限公司 11262 | 代理人: | 龍洪;栗若木 |
| 地址: | 英屬開曼群島大開*** | 國省代碼: | 開曼群島;KY |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 hadoop 分布式 文件系統 及其 管理 方法 | ||
技術領域
本申請涉及Hadoop分布式文件系統(HDFS,Hadoop?Distributed?File?System),更具體地,涉及一種跨機房的Hadoop分布式文件系統及相應的管理方法。
背景技術
Hadoop是Internet上對搜索關鍵字進行內容分類的工具。Hadoop由Apache?Software?Foundation公司于2005年秋天作為Lucene的子項目Nutch的一部分正式引入。Hadoop分布式文件系統被設計成適合運行在通用硬件(commodity?hardware)上的分布式文件系統。HDFS是一個高度容錯性(fault-tolerant)的系統,適合部署在廉價(low-cost)的機器上。HDFS能提供高吞吐量的數據訪問,非常適合大規模數據集(large?data?set)上的應用。
HDFS用于存儲超大的文件,文件內容被分解成多個塊(block),每個block默認為64M。為了提供高可靠性,一個block的內容會被復制成多份,存儲在不同的物理機器上。一個HDFS集群是由一個名字節點(NameNode)和多個數據節點(DataNodes)組成。NameNode是一個中心服務器,負責管理文件系統的名字空間(namespace)以及客戶端對文件的訪問,是所有HDFS元數據的仲裁者和管理者。DataNode用于存儲塊副本,并提供對塊副本的讀取等操作。
HDFS會創建一個如圖1所示的網絡拓撲結構,根據拓撲結構來選擇存放副本的DataNode。圖中,根節點I代表整個HDFS集群,第一層節點R1~R4代表機架,葉子節點H1~H12代表DataNode。隨著HDFS集群規模的不斷擴大,一個機房內物理機器的數量無法滿足集群規模的需要,此時需要把一個文件的塊副本存儲在多個機房內。但目前HDFS創建的網絡拓撲結構無法獲得任何機房信息,不能取得令人滿意的性能。
申請內容
本申請要解決的技術問題是提供一種Hadoop分布式文件系統及其管理方法,能夠基于機房信息有效管理文件,提高系統性能。
為了解決上述問題,本申請提供了一種Hadoop分布式文件系統跨機房的管理方法,包括:
Hadoop分布式文件系統創建樹形網絡拓撲結構,在代表集群的根節點和代表機架的第二層節點之間設置代表機房的第一層節點;
創建一跨機房文件時,指定多個機房來存放該文件的塊副本,并為其中的每一機房配置存放的副本數;
在所述多個機房存放所述塊副本時,對其中的每一機房,按照為該機房配置的所述副本數,選擇相同數目的數據節點存放所述塊副本。
較佳地,上述方法還包括:
對所述跨機房文件的塊副本進行維護時,先確定存放有所述塊副本的所有機房和其中每一機房的實際存放數;對每一機房,如實際存放數不等于為該機房配置的所述副本數,則在該機房內對所述塊副本進行復制或刪除以使實際存放數等于配置的所述副本數。
較佳地,
指定多個機房來存放該文件的塊副本時,優先指定用戶所在的機房;
對所述塊副本進行復制時,優先將同一個機房內存放有所述塊副本的數據節點作為源。
較佳地,上述方法還包括:
接收到用戶讀取塊副本的指令,選擇讀取的所述塊副本時,優先選擇用戶所在數據節點存放的所述塊副本,其次選擇用戶所在機架存放的所述塊副本,再次選擇用戶所在機房存放的所述塊副本,最后選擇其他機房存放的所述塊副本。
較佳地,上述方法還包括:
使用平衡工具平衡Hadoop分布式文件系統集群數據節點的磁盤利用率時,只在一個機房內的各數據節點之間進行平衡。
較佳地,
所述指定多個機房來存放該文件的塊副本,包括:
配置該文件的文件路徑與多個機房的對應關系,使用所述文件路徑對應的多個機房存放該文件的塊副本。
相應地,本申請提供的跨機房的Hadoop分布式文件系統,包括:
拓撲管理模塊,用于創建Hadoop分布式文件系統HDFS的樹形網絡拓撲結構,在代表集群的根節點和代表機架的第二層節點之間增加代表機房的第一層節點;
副本配置模塊,用于在創建跨機房文件時,指定多個機房來存放該文件的塊副本,并為其中的每一機房配置存放的副本數;
副本存放模塊,用于在多個機房存放跨機房文件的副本塊時,對其中的每一機房,按照為該機房配置的副本數,選擇相同數目的數據節點存放所述塊副本。
較佳地,上述系統還包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于阿里巴巴集團控股有限公司,未經阿里巴巴集團控股有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310544570.2/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:全局特征描述子的聚合方法
- 下一篇:基于網頁的記錄系統及其方法





