CN109033250B - 一种支持大数据文件访问服务的高可用性对象存储方法 - Google Patents
一种支持大数据文件访问服务的高可用性对象存储方法 Download PDFInfo
- Publication number
- CN109033250B CN109033250B CN201810733569.7A CN201810733569A CN109033250B CN 109033250 B CN109033250 B CN 109033250B CN 201810733569 A CN201810733569 A CN 201810733569A CN 109033250 B CN109033250 B CN 109033250B
- Authority
- CN
- China
- Prior art keywords
- service
- hadoop
- object storage
- data
- interface
- 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.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种支持大数据文件访问服务的高可用性对象存储方法,包括:通过数据协议模块接口管理对象存储需要存储的对象可用Hadoop文件系统,实现在CephFS上hadoop与对象存储服务的支持,使得用户通过所述数据协议模块接口可以访问对象存储服务存储的数据。本发明将Ceph存储系统作为Hadoop的后台存储,充分利用Hadoop分布式框架的高效性等特性支持大数据存储访问服务,更好地弥补文件系统的弊端。同时能在对象存储节点故障时,利用CTDB管理多网关对象存储服务,使集群中数据不丢失,确保业务能够正常稳定运行。
Description
技术领域
本发明属于云存储及大数据领域,具体涉及一种支持大数据文件访问服务的高可用性对象存储方法。
背景技术
Ceph是一种高性能、高可靠性、高可扩展性的分布式存储系统,独一无二地在一套系统中同时提供三种接口:基于文件的接口,基于块设备的接口以及基于对象的接口。其中Object接口有原生的API,而且兼容Swift和S3的API。在文件接口上,可基于Ceph系统运行Hadoop处理业务和数据。当Hadoop利用Ceph作为存储后端时,可将Ceph强大的分布式存储能力与Hadoop中MapReduce强大的并行任务处理能力相融合。若同时结合HBASE面向列的非结构化数据库,便可实现能够提供更高可靠性、更强性能、更大容量利用率以及更便捷的大数据平台。
集群存储是面向文件级别的存储系统,如果在存储海量数据的情况下,必然会产生大量的数据文件。在传统的文件存储系统中,由于其自身的限制,当文件系统中存储的数据越来越多时,文件系统目录的深度、宽度会不断增大,导致元数据读写管理的效率以及数据读写性能不断降低,从而可能在文件系统出现数据不流转等问题,对系统造成障碍堵塞的状况。
为了防止这种情况的发生,我们使用基于Ceph的对象存储系统对数据进行存储,利用对象存储服务高安全与高可靠性、外加其随时随地可访问等特性解决海量数据存储问题。
但在原有的Ceph分布式集群存储系统中已经配置了非面向对象存储的数据类型。随着集群业务的不断增长,当数据量足够大时,系统不能将已有数据直接转化成面向对象的数据类型,这使原有数据和对象存储的数据相互分离,同时不能基于Ceph利用Hadoop的处理能力对数据进行挖掘分析。
我们在对分布式存储系统进行测试时发现,大规模的集群存储系统对数据的故障性处理设计要求很高,不论是网络故障、磁盘故障还是电源故障。通常集群中会加入一些技术来管理保护系统,使业务能稳定运转,防止设备在工作过程出现不确定因素,造成设备中的数据业务停止或者数据丢失。在客户使用系统时,一旦无法保证业务稳定,不论是由于设计上的失误、人为操作、或者其他的意外情况,都有可能对用户造成很大的损失。
发明内容
本发明的目的是提供一种支持大数据文件访问服务的高可用性对象存储方法,实现从Hadoop文件系统到Ceph对象存储集群的透明访问,使得Hadoop平台可以支持海量数据的存储与处理服务。
本发明的实施例提供了一种支持大数据文件访问服务的高可用性对象存储方法,其特征在于,包括:通过数据协议模块接口管理对象存储需要存储的对象可用Hadoop文件系统,实现在CephFS上hadoop与对象存储服务的支持,使得用户通过数据协议模块接口可以访问对象存储服务存储的数据。
进一步地,该方法还包括:
通过对象服务函数接口管理进程,用于设备出现故障时,提高系统的容错性。
与现有技术相比本发明的有益效果是:
1)实现从Hadoop文件系统到Ceph对象存储系统的透明访问服务接口,使Hadoop能够高效地支持海量数据的存储服务,同时可支持使用Hadoop平台上MapReduce强大的并行任务处理能力以对象类型存储的海量数据进行挖掘分析。
2)实现支持多网关管理的高可用性对象存储方法,在对象存储网关故障或节点故障时,利用高可用的管理技术确保护系统的正常运行,防止设备出现不确定因素而造成的存储系统中数据丢失的现象。
附图说明
图1是本发明一实施例流程图;
图2是本发明另一实施例流程图;
图3是本发明的应用框图。
具体实施方式
下面结合附图所示的各实施方式对本发明进行详细说明,但应当说明的是,这些实施方式并非对本发明的限制,本领域普通技术人员根据这些实施方式所作的功能、方法、或者结构上的等效变换或替代,均属于本发明的保护范围之内。
本实施例中所使用的缩略语定义如下:
本实施例通过设计数据协议模块接口将对象存储需要存储的对象可用Hadoop文件系统进行管理中,实现在CephFS上hadoop与对象存储服务的支持,使得用户通过数据协议模块可以访问对象存储服务存储的数据。并在设备出现故障时,设计对象服务函数接口管理进程,提高系统的容错性。即在Hadoop平台上,使用Ceph分布式存储系统作为其底层存储系统,在原有的Ceph文件系统上设计数据协议模块接口,将Hadoop中的数据协议层与对象存储池中的数据进行连接,实现Hadoop文件系统对于对象存储的全方面透明访问,可以对数据通过文件系统完成对象存储客户端所有操作,例如对象存储服务上传、下载以及删除等所有功能,并能将ceph中的数据利用hadoop传输到对象存储服务上。并在多网关对象存储服务上设计函数接口控制radosgw进程,在节点故障时,可自动使对象存储服务转移到活跃的monitor节点,保障系统的稳定性和可靠性,完成真正意义两种系统的服务连接。
一般的存储系统都是相应业务的单一服务,但是由于系统之间的各种差异性的特性,各自的特性服务不能相互融合,使自身缺点不能充分弥补,本发明能够弥补此问题的存在,完成文件和对象存储两种系统服务融合。本发明是基于Ceph分布式存储系统,使用户可以通过Hadoop平台实现对象存储的透明访问,弥补在CephFS上Hadoop文件系统无法高效兼容访问多对象存储层技术的不足。
本发明通过将Ceph存储系统作为Hadoop的后台存储,充分利用Hadoop分布式框架的高效性等特性支持大数据存储访问服务,更好地弥补了文件系统的弊端。同时能在对象存储节点故障时,利用CTDB管理多网关对象存储服务,使集群中数据不丢失,确保业务能够正常稳定运行。
参图1、图2所示,Hadoop平台上基于Ceph的对象存储处理流程如下:
第一步启动对象存储网关rgw,在Ceph集群所有monitor节点上启动对象存储网关。
(1)配置radosgw服务,将monitor所在节点需要在三个节点的conf文件中分别添加配置.
(2)配置hosts文件,将所有radosgw服务端节点的信息都写入到hosts文件。
(3)创建并修改各节点的集群节点CTDB中的nodes文件,添加接口节点集群的内部网络IP,创建并修改各接口节点公网IP文件以及客户端进行访问的虚拟IP,用户通过该IP访问radosgw服务方可实现高可用性。
(4)修改所有接口节点上CTDB配置文件中的相关配置CTDB_MANAGES_RADOSGW=yes。
(5)修改所有接口节点上的function函数ctdb_compat_managed_service,并设计连接接口的函数,使CTDB服务于对象存储网关,在所有MON节点上启动CTDB进程。
第二步配置Hadoop与CephFS连接,通过Hadoop和Hbase配置文件进行设置,例如fs.default.name的value、ceph.data.pools的value、ceph.replication的value属性值以及map-reduce配置等,实现将Ceph作为Hadoop底层文件系统的存储方案。接着再通过Hadoop命令行发出指令。
第三步如果服务是S3,则经过本发明中的S3数据协议模块获取配置文件,再到aws-java-sdk生成符合S3的协议,用于向rgw网关发送响应命令。
第四步如果服务是Swift,则经过本发明的swift数据协议模块和hadoop-openstack获取配置,再到openstack-sdk生成符合Swift协议的命令,最后发送到rgw。
为了实现从Hadoop文件系统到Ceph对象存储集群的透明访问,使得Hadoop平台可以支持海量数据的存储与处理服务,本发明设计了基于Ceph对象存储方法支持Hadoop的文件服务接口,同时为了提高数据存储的高可用性,利用CTDB服务支持多网关存储访问模式,为多个节点上的应用提供可靠的传输通道。
参图3所示,在Ceph存储系统上,Hadoop支持Ceph作为Hadoop底层文件存储系统。在应用基于Ceph上多网关对象存储服务时,通过Hadoop对接Ceph中的1ibCephFS接口,分布式CephFS文件系统中的数据可直接利用Hadoop存储在对象存储服务上。对象存储服务上的数据也能直接在文件系统client上进行数据的分析和挖掘。
在Ceph系统中,对象存储网关充当协议转换角色,负责将Swift和S3协议的操作转化为系统内通信接口的调用,实现对存储模块的访问。客户端通过任一网关都可访问对象存储系统。但一个客户端只能配置一个网关地址,若此对象存储网关挂死,则此客户端无法访问对象存储系统,存在单点故障。在多网关对象存储服务出现故障时,利用CTDB管理对象存储网关radosgw进程,可以实现对象存储网关的高可用性。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。
Claims (1)
1.一种支持大数据文件访问服务的高可用性对象存储方法,其特征在于,包括:通过数据协议模块接口管理对象存储需要存储的对象可用Hadoop文件系统,实现在CephFS上hadoop与对象存储服务的支持,使得用户通过所述数据协议模块接口可以访问对象存储服务存储的数据;
多个对象网关服务下,Hadoop数据协议接口透明访问Ceph存储系统时通过对象服务函数接口管理进程,用于设备出现故障时,提高系统的容错性;
Hadoop平台上基于Ceph的对象存储处理流程如下:
第一步 启动对象存储网关rgw,在Ceph集群所有monitor节点上启动对象存储网关,包括:
(1)配置radosgw服务,将monitor所在节点需要在三个节点的conf文件中分别添加配置;
(2)配置hosts文件,将所有radosgw服务端节点的信息都写入到hosts文件;
(3)创建并修改各节点的集群节点CTDB中的nodes文件,添加接口节点集群的内部网络IP,创建并修改各接口节点公网IP文件以及客户端进行访问的虚拟IP,使用户通过该IP访问radosgw服务方,以实现高可用性;
(4)修改所有接口节点上CTDB配置文件中的相关配置CTDB_MANAGES_RADOSGW=yes;
(5)修改所有接口节点上的function函数ctdb_compat_managed_service,并设计连接接口的函数,使CTDB服务于对象存储网关,在所有MON节点上启动CTDB进程;
第二步 配置Hadoop与CephFS连接,通过Hadoop和Hbase配置文件进行设置,将Ceph作为Hadoop底层文件系统的存储方案,通过Hadoop命令行发出指令;
第三步 如果服务是S3,则经S3数据协议模块获取配置文件,再到aws-java-sdk生成符合S3的协议,用于向rgw网关发送响应命令;
第四步 如果服务是Swift,则经swift数据协议模块和hadoop-openstack获取配置,再到openstack-sdk生成符合Swift协议的命令,最后发送到rgw。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810733569.7A CN109033250B (zh) | 2018-07-06 | 2018-07-06 | 一种支持大数据文件访问服务的高可用性对象存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810733569.7A CN109033250B (zh) | 2018-07-06 | 2018-07-06 | 一种支持大数据文件访问服务的高可用性对象存储方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109033250A CN109033250A (zh) | 2018-12-18 |
CN109033250B true CN109033250B (zh) | 2021-06-08 |
Family
ID=64641379
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810733569.7A Active CN109033250B (zh) | 2018-07-06 | 2018-07-06 | 一种支持大数据文件访问服务的高可用性对象存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109033250B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110688674B (zh) * | 2019-09-23 | 2024-04-26 | 中国银联股份有限公司 | 一种访问对接器、系统及应用该访问对接器的方法及装置 |
CN111708738B (zh) * | 2020-05-29 | 2023-11-03 | 深圳市瑞驰信息技术有限公司 | 实现hadoop文件系统hdfs与对象存储s3数据互访方法及系统 |
CN114443677A (zh) * | 2022-01-28 | 2022-05-06 | 苏州浪潮智能科技有限公司 | 对象存储服务系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105554132A (zh) * | 2015-12-23 | 2016-05-04 | 浪潮集团有限公司 | 一种Hadoop在线扩容的方法 |
CN107547654A (zh) * | 2017-09-12 | 2018-01-05 | 郑州云海信息技术有限公司 | 一种分布式对象存储集群、部署、服务方法及系统 |
-
2018
- 2018-07-06 CN CN201810733569.7A patent/CN109033250B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105554132A (zh) * | 2015-12-23 | 2016-05-04 | 浪潮集团有限公司 | 一种Hadoop在线扩容的方法 |
CN107547654A (zh) * | 2017-09-12 | 2018-01-05 | 郑州云海信息技术有限公司 | 一种分布式对象存储集群、部署、服务方法及系统 |
Non-Patent Citations (2)
Title |
---|
ceph和hdfs;JackLiu16;《https://blog.csdn.net/jackliu16/article/details/79972580》;20180417;第1-2页 * |
基于对象存储的Ceph分布式文件系统的研究;刘莎;《万方数据》;20160831;第10-15页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109033250A (zh) | 2018-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10515058B2 (en) | Unified file and object data storage | |
CN109033250B (zh) | 一种支持大数据文件访问服务的高可用性对象存储方法 | |
CN111104368B (zh) | 一种实现容器存储扩容的方法及系统 | |
CN104156216A (zh) | 一种面向云计算的异构存储管理系统及方法 | |
CN110677441B (zh) | 一种对象存储集群的访问方法及装置 | |
CN107818111B (zh) | 一种缓存文件数据的方法、服务器及终端 | |
CN101902473B (zh) | 基于网格gis的数据同步更新实现方法 | |
CN103237046A (zh) | 支持混合云存储应用的分布式文件系统及实现方法 | |
JP7369860B2 (ja) | アクセスドッキングコンポーネント、システム、並びに、そのアクセスドッキングコンポーネントを用いた方法及び装置 | |
CN105025053A (zh) | 基于云存储技术的分布式文件的上传方法及其系统 | |
CN110851082B (zh) | 一种容器对接光纤网络存储的方法 | |
CN115517009B (zh) | 集群管理方法、集群管理装置、存储介质与电子设备 | |
JP2020500359A (ja) | 制限されないデータセットを伴う制限されたデータセットのクラウド・ネットワークへの格納およびクラウド・ネットワークからの取得のためのコンピュータ・プログラム、コンピュータ・システム、および方法 | |
CN104717314A (zh) | 一种ip管理方法及系统、客户端、服务器 | |
KR102707345B1 (ko) | 5g 라이브 업링크 스트리밍용 프레임워크(flus) 제어를 통한 네트워크 기반 미디어 처리(nbmp) 작업흐름 관리 | |
CN107710695A (zh) | 一种访问家庭nas设备的方法、对应装置及系统 | |
CN105260377A (zh) | 一种基于分级存储的升级方法和系统 | |
CN109347936A (zh) | Redis代理客户端的实现方法、系统、存储介质及电子设备 | |
US9648103B2 (en) | Non-uniform file access in a distributed file system | |
CN110825838A (zh) | 一种对象存储聚合系统及其聚合方法 | |
US20050234961A1 (en) | Systems and Methods for providing a proxy for a shared file system | |
CN114490540B (zh) | 数据存储方法、介质、装置和计算设备 | |
CN112272209B (zh) | 分布式对象存储中网关分离方法、装置、设备及存储介质 | |
CN108763471A (zh) | 一种部署集群中http文件服务器的方法及系统 | |
US8429209B2 (en) | Method and system for efficiently reading a partitioned directory incident to a serialized process |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |