CN108737156A - 一种基于多对等NameNode分布式文件系统及写入方法 - Google Patents
一种基于多对等NameNode分布式文件系统及写入方法 Download PDFInfo
- Publication number
- CN108737156A CN108737156A CN201810305535.8A CN201810305535A CN108737156A CN 108737156 A CN108737156 A CN 108737156A CN 201810305535 A CN201810305535 A CN 201810305535A CN 108737156 A CN108737156 A CN 108737156A
- Authority
- CN
- China
- Prior art keywords
- namenode
- user
- storage server
- datanode
- layer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0663—Performing the actions predefined by failover planning, e.g. switching to standby network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种基于多对等NameNode分布式文件系统,包括用户应用层、元数据服务层和存储服务器层,所述元数据服务层包括多个部分对等的NameNode,多个所述NameNode首尾相连形成一个环状结构;每个NameNode既是它前驱节点的备用NameNode,同时又是它后继节点的主备NameNode;每个NameNode均存储有特定用户文件的所有元数据信息和操作日志文件,并管理所述存储服务器层中的部分特定的存储服务器;每个NameNode均接收所管理的存储服务器所发送的心跳包和数据块信息;每个NameNode均设置有一个特定的NameNode ID,每个NameNode均存储有NameNode ID与IP地址之间的映射表。本发明利用首尾相连并成部分对等关系的多个NameNode来改变HDFS系统中的单点依赖,大大增强云存储的容错率。
Description
技术领域
本发明涉及云计算领域,尤其涉及一种基于多对等NameNode分布式文件系统及写入方法。
背景技术
随着互联网的飞速发展,全球数据量每年以指数增长,使得云计算成为了当前研究与应用的热点。云存储作为云计算的底层服务,是一种架构复杂的分布式文件系统。因为它具有结构灵活、响应效率高、管理方便等优点,因而成为世界各国解决数据爆炸性增长的首选方案。HDFS作为当今最流行的基于云存储分布式文件系统具有开源、廉价、高容错以及高可扩性的特点,在云存储领域占据了举足轻重的地位。HDFS采用了主从架构,它的集群是由一个NameNode和多个DataNode组成。NameNode是一个中心服务器,负责管理文件系统的命名空间以及客户端对文件的访问操作。
然而,HDFS因其结构和性能上的局限性,存在当NameNode失效时,整个系统将陷入瘫痪状态的问题。
发明内容
本发明的目的在于提出一种基于多对等NameNode分布式文件系统及写入方法,利用首尾相连并成部分对等关系的多个NameNode来改变HDFS系统中的单点依赖,大大增强云存储的容错率。
为达此目的,本发明采用以下技术方案:
一种基于多对等NameNode分布式文件系统,包括用户应用层、元数据服务层和存储服务器层,所述元数据服务层包括多个部分对等的NameNode,多个所述NameNode首尾相连形成一个环状结构;
每个NameNode既是它前驱节点的备用NameNode,同时又是它后继节点的主备NameNode;
每个NameNode均存储有特定用户文件的所有元数据信息和操作日志文件,并管理所述存储服务器层中的部分特定的存储服务器;
每个NameNode均接收所管理的存储服务器所发送的心跳包和数据块信息;
每个NameNode均设置有一个特定的NameNode ID,每个NameNode均存储有NameNode ID与IP地址之间的映射表。
优选的,所述存储服务器层由多台存储服务器组成,每台所述存储服务器均设置有一个DataNode;
每个NameNode管理所述存储服务器中特定的DataNode,被管理的所述DataNode定期发送心跳包和数据块信息给管理自己的NameNode。
优选的,所述用户应用层用于向NameNode发送RPC请求来建立通信连接。
一种基于多对等NameNode分布式文件系统的写入方法,包括用户应用层、元数据服务层和存储服务器层,所述元数据服务层包括多个部分对等的NameNode,多个所述NameNode首尾相连形成一个环状结构;所述存储服务器层由多台存储服务器组成,每台所述存储服务器均设置有一个DataNode;所述用户应用层用于向NameNode发送RPC请求来建立通信连接。
包括文件写入的过程:
步骤一:用户随机向所述元数据服务层中的一个NameNode发送链接请求;
步骤二:NameNode根据用户自定义的算法为用户选择一个主NameNode和备用NameNode,并将所述主NameNode和所述备用NameNode的IP信息返回给用户,所述IP信息包括主IP地址;
步骤三:用户收到所述IP信息后,根据主IP地址向所述主NameNode发送用户请求信息表,所述主NameNode做IP对比,如果IP对比结果相同,则用户请求信息表中的file对文件进行分块处理形成文件块,为用户选择所述存储服务器层的DataNode,同时生成元数据文件;
步骤四:所述主NameNode将所述文件块在DataNode的地址列表发送给用户;
步骤五:所述主NameNode将所述元数据文件发送给所述备用NameNode;
步骤六:所述备用NameNode接收主NameNode发送的所述元数据文件,并对所述元数据文件进行合并操作,然后将合并操作过的元数据文件定期返回至所述主NameNode;
步骤七:用户联系所述DataNode存储用户数据;
步骤八:所述DataNode将用户副本进行复制并存储在其他节点上;
步骤九:若所述DataNode将用户副本成功复制并存储成功,则DataNode向所述主NameNode返回成功信息;
步骤十:所述主NameNode向用户返回写入成功的信息。
本发明的有益效果:
1、解决了集中式架构中的单点依赖问题,提高系统的容错率;
2、从多个NameNode中为接入用户选择特定的NameNode,并且选择出来的NameNode能为用户提供HDFS系统中的任何应用,提高了架构的可扩展性;
3、在主NameNode出现故障的情况下,不需要任何手动干预即可自动快读地启动备用NameNode为用户提供服务;
4、心跳机制、数据块的报告机制,大大增强云存储系统的容错性。
附图说明
图1是本发明系统框架图;
图2是本发明的文件写入框架流程图。
具体实施方式
下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。
本实施例的一种基于多对等NameNode分布式文件系统,如图1所示,包括用户应用层、元数据服务层和存储服务器层,所述元数据服务层包括多个部分对等的NameNode,多个所述NameNode首尾相连形成一个环状结构;
每个NameNode既是它前驱节点的备用NameNode,同时又是它后继节点的主备NameNode;
每个NameNode均存储有特定用户文件的所有元数据信息和操作日志文件,并管理所述存储服务器层中的部分特定的存储服务器;
每个NameNode均接收所管理的存储服务器所发送的心跳包和数据块信息;
每个NameNode均设置有一个特定的NameNode ID,每个NameNode均存储有NameNode ID与IP地址之间的映射表。
多个所述NameNode首尾相连形成环状结构,而且每个NameNode既是它前驱节点的备用NameNode,同时又是它后继节点的主备NameNode,形成典型的对等关系,这样当一个NameNode出现故障时,其他的NameNode可以作为备用的NameNode;利用首尾相连并成部分对等关系的多个NameNode来改变HDFS架构中的单点依赖问题,提高系统的容错率,克服了HDFS中当NameNode失效时,整个系统将陷入瘫痪状态的情况。
利用技术点:每个NameNode均存储有特定用户文件的所有元数据信息和操作日志文件,并管理所述存储服务器层中的部分特定的存储服务器;每个NameNode均设置有一个特定的NameNode ID,实现从多个NameNode中为接入用户选择特定的NameNode,并且选择出来的NameNode能为用户提供HDFS系统中的任何用户,从而提高了整个云存储架构的可扩展性。
由于每个NameNode均接收所管理的存储服务器所发送的心跳包和数据块信息,在主NameNode出现故障的情况下,不需任何手动干预即可自动快速的启动设备用NameNode为用户提供读写请求服务,完善数据块信息的心跳机制,数据块的报告机制以及元数据管理的策略,则大大增强了云存储的容错性。
优选的,如图1所示,所述存储服务器层由多台存储服务器组成,每台所述存储服务器均设置有一个DataNode;
每个NameNode管理所述存储服务器中特定的DataNode,被管理的所述DataNode定期发送心跳包和数据块信息给管理自己的NameNode。
优选的,所述用户应用层用于向NameNode发送RPC请求来建立通信连接。
一种基于多对等NameNode分布式文件系统的写入方法,如图1和图2所示,包括用户应用层、元数据服务层和存储服务器层,所述元数据服务层包括多个部分对等的NameNode,多个所述NameNode首尾相连形成一个环状结构;所述存储服务器层由多台存储服务器组成,每台所述存储服务器均设置有一个DataNode;所述用户应用层用于向NameNode发送RPC请求来建立通信连接。
包括文件写入的过程:
步骤一:用户随机向所述元数据服务层中的一个NameNode发送链接请求;
步骤二:NameNode根据用户自定义的算法为用户选择一个主NameNode和备用NameNode,并将所述主NameNode和所述备用NameNode的IP信息返回给用户,所述IP信息包括主IP地址;
步骤三:用户收到所述IP信息后,根据主IP地址向所述主NameNode发送用户请求信息表,所述主NameNode做IP对比,如果IP对比结果相同,则用户请求信息表中的file对文件进行分块处理形成文件块,为用户选择所述存储服务器层的DataNode,同时生成元数据文件;
步骤四:所述主NameNode将所述文件块在DataNode的地址列表发送给用户;
步骤五:所述主NameNode将所述元数据文件发送给所述备用NameNode;
步骤六:所述备用NameNode接收主NameNode发送的所述元数据文件,并对所述元数据文件进行合并操作,然后将合并操作过的元数据文件定期返回至所述主NameNode;
步骤七:用户联系所述DataNode存储用户数据;
步骤八:所述DataNode将用户副本进行复制并存储在其他节点上;
步骤九:若所述DataNode将用户副本成功复制并存储成功,则DataNode向所述主NameNode返回成功信息;
步骤十:所述主NameNode向用户返回写入成功的信息。
以上结合具体实施例描述了本发明的技术原理。这些描述只是为了解释本发明的原理,而不能以任何方式解释为对本发明保护范围的限制。基于此处的解释,本领域的技术人员不需要付出创造性的劳动即可联想到本发明的其它具体实施方式,这些方式都将落入本发明的保护范围之内。
Claims (4)
1.一种基于多对等NameNode分布式文件系统,其特征在于:包括用户应用层、元数据服务层和存储服务器层,所述元数据服务层包括多个部分对等的NameNode,多个所述NameNode首尾相连形成一个环状结构;
每个NameNode既是它前驱节点的备用NameNode,同时又是它后继节点的主备NameNode;
每个NameNode均存储有特定用户文件的所有元数据信息和操作日志文件,并管理所述存储服务器层中的部分特定的存储服务器;
每个NameNode均接收所管理的存储服务器所发送的心跳包和数据块信息;
每个NameNode均设置有一个特定的NameNode ID,每个NameNode均存储有NameNode ID与IP地址之间的映射表。
2.根据权利要求1所述一种基于多对等NameNode分布式文件系统,其特征在于:
所述存储服务器层由多台存储服务器组成,每台所述存储服务器均设置有一个DataNode;
每个NameNode管理所述存储服务器中特定的DataNode,被管理的所述DataNode定期发送心跳包和数据块信息给管理自己的NameNode。
3.根据权利要求1所述一种基于多对等NameNode分布式文件系统,其特征在于:
所述用户应用层用于向NameNode发送RPC请求来建立通信连接。
4.一种基于多对等NameNode分布式文件系统的写入方法,其特征在于:
包括用户应用层、元数据服务层和存储服务器层,所述元数据服务层包括多个部分对等的NameNode,多个所述NameNode首尾相连形成一个环状结构;所述存储服务器层由多台存储服务器组成,每台所述存储服务器均设置有一个DataNode;所述用户应用层用于向NameNode发送RPC请求来建立通信连接;
包括文件写入的过程:
步骤一:用户随机向所述元数据服务层中的一个NameNode发送链接请求;
步骤二:NameNode根据用户自定义的算法为用户选择一个主NameNode和备用NameNode,并将所述主NameNode和所述备用NameNode的IP信息返回给用户,所述IP信息包括主IP地址;
步骤三:用户收到所述IP信息后,根据主IP地址向所述主NameNode发送用户请求信息表,所述主NameNode做IP对比,如果IP对比结果相同,则用户请求信息表中的file对文件进行分块处理形成文件块,为用户选择所述存储服务器层的DataNode,同时生成元数据文件;
步骤四:所述主NameNode将所述文件块在DataNode的地址列表发送给用户;
步骤五:所述主NameNode将所述元数据文件发送给所述备用NameNode;
步骤六:所述备用NameNode接收主NameNode发送的所述元数据文件,并对所述元数据文件进行合并操作,然后将合并操作过的元数据文件定期返回至所述主NameNode;
步骤七:用户联系所述DataNode存储用户数据;
步骤八:所述DataNode将用户副本进行复制并存储在其他节点上;
步骤九:若所述DataNode将用户副本成功复制并存储成功,则DataNode向所述主NameNode返回成功信息;
步骤十:所述主NameNode向用户返回写入成功的信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810305535.8A CN108737156A (zh) | 2018-04-08 | 2018-04-08 | 一种基于多对等NameNode分布式文件系统及写入方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810305535.8A CN108737156A (zh) | 2018-04-08 | 2018-04-08 | 一种基于多对等NameNode分布式文件系统及写入方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108737156A true CN108737156A (zh) | 2018-11-02 |
Family
ID=63941147
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810305535.8A Pending CN108737156A (zh) | 2018-04-08 | 2018-04-08 | 一种基于多对等NameNode分布式文件系统及写入方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108737156A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109905851A (zh) * | 2018-12-26 | 2019-06-18 | 维沃移动通信有限公司 | 一种提示方法及终端设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102737130A (zh) * | 2012-06-21 | 2012-10-17 | 广州从兴电子开发有限公司 | 处理hdfs元数据的方法及系统 |
CN105007172A (zh) * | 2015-05-28 | 2015-10-28 | 杭州健港信息科技有限公司 | 一种hdfs高可用性方案的实现方法 |
CN107168970A (zh) * | 2016-03-07 | 2017-09-15 | 中兴通讯股份有限公司 | 一种分布式文件系统hdfs的管理方法、装置及系统 |
WO2017210005A1 (en) * | 2016-05-31 | 2017-12-07 | University Of South Florida | Systems and methods for detecting attacks in big data systems |
CN107832138A (zh) * | 2017-09-21 | 2018-03-23 | 南京邮电大学 | 一种扁平化的高可用namenode模型的实现方法 |
-
2018
- 2018-04-08 CN CN201810305535.8A patent/CN108737156A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102737130A (zh) * | 2012-06-21 | 2012-10-17 | 广州从兴电子开发有限公司 | 处理hdfs元数据的方法及系统 |
CN105007172A (zh) * | 2015-05-28 | 2015-10-28 | 杭州健港信息科技有限公司 | 一种hdfs高可用性方案的实现方法 |
CN107168970A (zh) * | 2016-03-07 | 2017-09-15 | 中兴通讯股份有限公司 | 一种分布式文件系统hdfs的管理方法、装置及系统 |
WO2017210005A1 (en) * | 2016-05-31 | 2017-12-07 | University Of South Florida | Systems and methods for detecting attacks in big data systems |
CN107832138A (zh) * | 2017-09-21 | 2018-03-23 | 南京邮电大学 | 一种扁平化的高可用namenode模型的实现方法 |
Non-Patent Citations (2)
Title |
---|
张大洋: "《基于云存储的分布式文件系统研究与优化》", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
张波: "《HDFS下文件存储研究与优化》", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109905851A (zh) * | 2018-12-26 | 2019-06-18 | 维沃移动通信有限公司 | 一种提示方法及终端设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9779109B2 (en) | Storing a file in a cloud storage solution using multiple process threads | |
US9395933B2 (en) | Distributed storage system, distributed storage method, and program and storage node for distributed storage | |
US8990176B2 (en) | Managing a search index | |
CN110213352B (zh) | 名字空间统一的分散自治存储资源聚合方法 | |
JP6225262B2 (ja) | 分散データグリッドにおいてデータを同期させるためにパーティションレベルジャーナリングをサポートするためのシステムおよび方法 | |
US20110276656A1 (en) | Writing a file to a cloud storage solution | |
US20110276622A1 (en) | Reading a file from a cloud storage solution | |
CN105005611B (zh) | 一种文件管理系统及文件管理方法 | |
CN106919654A (zh) | 一种基于Nginx的高可用MySQL数据库的实现方法 | |
CN103294167B (zh) | 一种基于数据行为的低能耗集群存储复制装置和方法 | |
US10747739B1 (en) | Implicit checkpoint for generating a secondary index of a table | |
WO2017092384A1 (zh) | 一种集群数据库分布式存储的方法和装置 | |
CN108347455B (zh) | 元数据交互方法及系统 | |
CN104539583A (zh) | 一种实时数据库订阅系统及方法 | |
CN104951475A (zh) | 分布式文件系统和实现方法 | |
CN108737156A (zh) | 一种基于多对等NameNode分布式文件系统及写入方法 | |
CN107896248B (zh) | 一种基于客户端通信的并行文件系统应用方法 | |
CN113472864B (zh) | 高性能的区块链分布式存储系统及方法、设备、存储介质 | |
Sarr et al. | Transpeer: Adaptive distributed transaction monitoring for web2. 0 applications | |
CN111294383B (zh) | 物联网服务管理系统 | |
CN112463735A (zh) | 一种大体积json文件拆分并按需请求的方法 | |
Fong et al. | Toward a scale-out data-management middleware for low-latency enterprise computing | |
Nakagawa et al. | Jobcast—Parallel and distributed processing framework Data processing on a cloud style KVS database | |
Thant et al. | Improving the availability of NoSQL databases for Cloud Storage | |
KR20150061314A (ko) | 네트워크 분산 파일 시스템 기반 iSCSI 스토리지 시스템에서의 장애 복구 방법 및 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181102 |