docker容器数据卷扩展到HDFS的存储实现方法技术

技术编号:31319278 阅读:16 留言:0更新日期:2021-12-13 00:02
本发明专利技术涉及一种docker容器数据卷扩展到HDFS的存储实现方法,包括:将符合容器设定使用规则的docker数据卷扩展插件安装到各个物理机;对每个物理机进行SeaboxdataFtpSever挂载;当容器物理机内进行数据操作时,通过挂载点将数据操作自动传入SeaboxdataFtpSever;SeaboxdataFtpSever调用HDFS的API,将数据写入到HDFS中。本发明专利技术实现docker容器跨主机访问共享数据,能够提供docker容器可靠性存储。能够提供docker容器可靠性存储。能够提供docker容器可靠性存储。

【技术实现步骤摘要】
docker容器数据卷扩展到HDFS的存储实现方法


[0001]本专利技术是关于一种docker容器数据卷扩展到HDFS的存储实现方法,涉及容器化


技术介绍

[0002]Docker容器存储问题一直是容器技术的一个瓶颈,尤其是基于docker容器的分布式计算。虽然docker容器可以通过创建本地数据卷,将宿主机的文件目录挂载到容器中进行数据存储,以防止数据丢失。但是使用docker作为分布式计算引擎时,同一个计算任务被划分为不同小任务。一个小的任务对应一个docker容器,容器在不同的宿主机上运行,跨主机的数据访问共享,就成为了一个最大的问题,而且挂载宿主机本地数据目录,数据存储量也是一个瓶颈。
[0003]现有docker数据卷的不足之处在于:Docker容器实例在物理机中运行时,容器中的服务需要进行数据持久化时,就需要挂载宿主机的磁盘路径映射,作为docker容器的数据卷,用来持久化容器需要存储的数据。但是在实际的应用场景中,大部分的docker应用实例都是分布式服务。分布式式服务的特点是docker容器需要跨物理机部署,所有的分布式docker容器数据需要能够实现共享,比如服务F1是分布式服务,服务F1的docker容器,分别运行在物理机A1、A2、A3中。如图1所示,物理机A1中的docker容器1的数据保存在路径/path1/下,在默认情况下,物理机A2、A3中的docker容器就无法访问在物理机A1中的/path2/路径下的数据。当长期高频对物理机A1、A2、A3读写,物理机磁盘也容易老化、损害,一旦盘损坏,数据恢复的往往很难恢复。
[0004]因此,docker容器挂载本地数据存在一下几个问题:1)数据跨物理无法共享访问;2)数据无法保证可靠性;3)本地磁盘存储,对于分布式应用,数据存储量是一个很大的瓶颈。

技术实现思路

[0005]针对上述问题,本专利技术的目的是提供一种能够实现docker容器跨主机访问共享数据的docker容器数据卷扩展到HDFS的存储实现方法。
[0006]为实现上述目的,本专利技术采取以下技术方案:
[0007]第一方面,本专利技术提供的docker容器数据卷扩展到HDFS的存储实现方法,包括:
[0008]将符合容器设定使用规则的docker数据卷扩展插件安装到各个物理机;
[0009]对每个物理机进行SeaboxdataFtpSever挂载;
[0010]当容器物理机内进行数据操作时,通过挂载点将数据操作自动传入SeaboxdataFtpSever;
[0011]SeaboxdataFtpSever调用HDFS的API,将数据写入到HDFS中。
[0012]进一步地,挂载的方式采用命令行加参数形式进行。
[0013]第二方面,本专利技术还提供一种docker容器数据卷扩展到HDFS的存储实现系统,该
系统包括:
[0014]插件安装单元,被配置为将符合容器设定使用规则的Seaboxdata Volume plugin安装到各个物理机;
[0015]挂载单元,被配置为对每个物理机进行SeaboxdataFtpSever挂载;
[0016]容器操作单元,被配置为当容器物理机内进行数据操作时,通过挂载点将数据操作自动传入SeaboxdataFtpSever;
[0017]数据写入单元,被配置为SeaboxdataFtpSever调用HDFS的API,将数据写入到HDFS中。
[0018]进一步地,挂载的方式可以采用命令行加参数形式进行。
[0019]第三方面,本专利技术还提供一种电子设备,所述电子设备至少包括处理器和存储器,所述存储器上存储有计算机程序,所述处理器运行所述计算机程序时执行以所述的方法。
[0020]第四方面,本专利技术还提供一种计算机存储介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现所述的方法。
[0021]本专利技术由于采取以上技术方案,其具有以下优点:
[0022]1、本专利技术通过SeaboxdataFtpSever调用HDFS的API,将数据写入到HDFS中,实现docker容器跨主机访问共享数据;
[0023]2、本专利技术实现docker容器大数据存储,能够提供docker容器可靠性存储;
[0024]3、本专利技术能够解决容器存储数据量的问题;
[0025]综上,本专利技术可以广泛应用于容器存储中。
附图说明
[0026]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。在整个附图中,用相同的附图标记表示相同的部件。在附图中:
[0027]图1是现有的docker容器挂载本地数据原理示意图;
[0028]图2是本专利技术实施例的docker容器数据卷扩展到HDFS的存储实现方法原理图;
[0029]图3是本专利技术实施例的docker容器数据卷扩展到HDFS的存储实现方法流程图;
[0030]图4为本专利技术实施例的电子设备结构图。
具体实施方式
[0031]下面将参照附图更详细地描述本专利技术的示例性实施方式。虽然附图中显示了本专利技术的示例性实施方式,然而应当理解,可以以各种形式实现本专利技术而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本专利技术,并且能够将本专利技术的范围完整的传达给本领域的技术人员。
[0032]应理解的是,文中使用的术语仅出于描述特定示例实施方式的目的,而无意于进行限制。除非上下文另外明确地指出,否则如文中使用的单数形式“一”、“一个”以及“所述”也可以表示包括复数形式。术语“包括”、“包含”、“含有”以及“具有”是包含性的,并且因此指明所陈述的特征、步骤、操作、元件和/或部件的存在,但并不排除存在或者添加一个或多个其它特征、步骤、操作、元件、部件、和/或它们的组合。文中描述的方法步骤、过程、以及操
作不解释为必须要求它们以所描述或说明的特定顺序执行,除非明确指出执行顺序。还应当理解,可以使用另外或者替代的步骤。
[0033]尽管可以在文中使用术语第一、第二、第三等来描述多个元件、部件、区域、层和/或部段,但是,这些元件、部件、区域、层和/或部段不应被这些术语所限制。这些术语可以仅用来将一个元件、部件、区域、层或部段与另一区域、层或部段区分开。除非上下文明确地指出,否则诸如“第一”、“第二”之类的术语以及其它数字术语在文中使用时并不暗示顺序或者次序。因此,以下讨论的第一元件、部件、区域、层或部段在不脱离示例实施方式的教导的情况下可以被称作第二元件、部件、区域、层或部段。
[0034]为了便于描述,可以在文中使用空间相对关系术语来描述如图中示出的一个元件或者特征相对于另一元件或者特征的关系,这些相对关系术语例如为“内部”、“外部”、“内侧”、“外侧”、“下面”、“上面”等。这本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种docker容器数据卷扩展到HDFS的存储实现方法,其特征在于包括:将符合容器设定使用规则的docker数据卷扩展插件安装到各个物理机;对每个物理机进行SeaboxdataFtpSever挂载;当容器物理机内进行数据操作时,通过挂载点将数据操作自动传入SeaboxdataFtpSever;SeaboxdataFtpSever调用HDFS的API,将数据写入到HDFS中。2.根据权利要求1所述的docker容器数据卷扩展到HDFS的存储实现方法,其特征在于,挂载的方式采用命令行加参数形式进行。3.一种docker容器数据卷扩展到HDFS的存储实现系统,其特征在于,该系统包括:插件安装单元,被配置为将符合容器设定使用规则的Seaboxdata Volume plugin安装到各个物理机;挂载单元,被...

【专利技术属性】
技术研发人员:朱加周石棋玲王伟哲
申请(专利权)人:北京东方金信科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1