[发明专利]一种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.vipzhuanli.com/pat/books/201310544570.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:全局特征描述子的聚合方法
- 下一篇:基于网页的记录系统及其方法