[发明专利]Hadoop分布式文件系统的副本存取方法、装置和Hadoop分布式文件系统在审
申请号: | 201410120902.9 | 申请日: | 2014-03-27 |
公开(公告)号: | CN104156381A | 公开(公告)日: | 2014-11-19 |
发明(设计)人: | 袁芳;李靖;张宗平;李鸣亮;叶剑锋 | 申请(专利权)人: | 深圳信息职业技术学院 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F9/50;H04L29/08 |
代理公司: | 深圳中一专利商标事务所 44237 | 代理人: | 张全文 |
地址: | 518172 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | hadoop 分布式 文件系统 副本 存取 方法 装置 | ||
技术领域
本发明涉及分布式架构领域,具体涉及Hadoop分布式文件系统的副本存取方法、装置和Hadoop分布式文件系统。
背景技术
分布式文件系统(Hadoop Distributed File System,HDFS)是一个主从结构,一个HDFS集群是由一个名字节点和至少一个数据节点组成。HDFS集群中的名字节点是一个管理文件命名空间和调节客户端访问文件的主服务器,主要操作文件命名空间的文件或目录操作,例如,打开、关闭和重命名等等,同时,名字节点还用于确定块与数据节点的映射。HDFS集群中的数据节点存储具体的数据文件,负责来自文件系统客户的读写请求,同时还要执行块的创建、删除和来自名字节点的块复制指令。
HDFS对外开放文件命名空间并允许用户数据以文件形式存储,内部机制是将一个文件分割成一个或多个块进行存储,同时每一个数据块又保存有多个副本。以数据块的副本是3个副本为例,HDFS对副本的放置策略为:名字节点将一个副本存放在本地节点即客户端所在节点上,第二个副本存放在与客户端所在节点处于同一个机架的另一个节点上,最后一个副本放在不同机架的节点上。仍以数据块的副本是3个副本为例,HDFS对副本的读取策略是原则上优先访问存放副本的节点中与客户端的距离最近的节点,具体为:若要访问的数据块的一个副本存在于客户端,则客户端优先从本地读取该数据块,否则,若该数据块的一个副本与客户端在同一个机架上,则客户端优先读取这个同机架上的副本,若该数据块既没有一个副本存在客户端,又没有一个副本与客户端在同一个机架上,则随机选择一个数据块的副本进行读取。
上述现有技术提供的HDFS对副本的放置和读取策略减少了机架间的数据传输,提高了写操作的效率。另一方面,由于机架的错误远远比节点的错误少,因此,这种策略不会影响到数据的可靠性和可用性。与此同时,因为数据块只存放在两个不同的机架上,所以上述策略减少了读取数据时需要的网络传输总带宽。
然而,上述现有技术提供的HDFS副本的放置和读取策略只考虑了写/读操作的网络开销,而未考虑系统注入CPU和磁盘等其他负载的负载均衡,可能会导致系统负载严重不均,从而影响写/读操作的性能。
发明内容
本发明提供Hadoop分布式文件系统的副本存取方法、装置和Hadoop分布式文件系统,以均衡系统负载从而提高读/写性能。
本发明实施例提供一种Hadoop分布式文件系统的副本存取方法,所述方法包括:
获取Hadoop分布式文件系统中数据节点的节点负载信息;
在存放副本时,根据所述节点负载信息,将同一数据块的副本存放在客户端所在数据节点或者负载最低的数据节点;
在读取所述副本时,从负载最低的数据节点和/或与客户端距离最小的数据节点读取。
本发明另一实施例提供一种Hadoop分布式文件系统的副本存取装置,所述装置包括:
获取模块,用于获取Hadoop分布式文件系统中数据节点的节点负载信息;
存放模块,用于在存放副本时,根据所述节点负载信息,将同一数据块的副本存放在客户端所在数据节点或者负载最低的数据节点;
读取模块,用于在读取所述副本时,从负载最低的数据节点和/或与客户端距离最小的数据节点读取。
本发明另一实施例提供一种Hadoop分布式文件系统,所述系统包括名字节点和至少一个数据节点,所述名字节点包括获取模块、存放模块和读取模块;
所述数据节点,用于存放数据块的副本,将本节点的节点负载信息传递至所述名字节点;
所述获取模块,用于获取Hadoop分布式文件系统中数据节点的节点负载信息;
所述存放模块,用于根据所述节点负载信息,将同一数据块的副本存放在客户端所在数据节点或者负载最低的数据节点;
所述读取模块,用于在读取所述副本时,从负载最低的数据节点和/或与客户端距离最小的数据节点读取。
从上述本发明实施例可知,由于可以根据获取的节点负载信息,将同一数据块的副本存放在客户端所在数据节点或者负载最低的数据节点,在读取所述副本时,从负载最低的数据节点和/或与客户端距离最小的数据节点读取,因此,与现有技术提供的HDFS副本的放置和读取策略只考虑了写/读操作的网络开销,而未考虑系统注入CPU和磁盘等其他负载的负载均衡相比,本发明提供的方法充分考虑到了各个数据节点的节点负载信息,因而能够均衡系统负载,提升读写操作的性能。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳信息职业技术学院,未经深圳信息职业技术学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410120902.9/2.html,转载请声明来源钻瓜专利网。