基于虚拟容器的大数据存储与管理方法

文档序号:9326742阅读:345来源:国知局
基于虚拟容器的大数据存储与管理方法
【技术领域】
[0001]本发明涉及存储和大数据技术领域,特别涉及一种基于虚拟容器的大数据存储与管理系统及方法。
【背景技术】
[0002]YARN是第二代Hadoop中的一个重要组件,负责集群中计算资源的管理与任务分配。通过把资源管理的功能独立出来成为一个组件,这样就降低了系统的耦合度,并为支持更多的计算框架提供了接口,目前能够支持MP1、Spark以及MapReduce等主流计算框架。YARN调度器采用单层调度的架构,单一的ResourceManager实例负责对集群中所有任务进行调度与资源分配。每个框架对应的Applicat1nMaster收到用户提交的人物之后向ResourceManager申请资源用于运行任务。YARN的单层调度架构会导致调度器节点负载过高,而且计算框架在接入YARN之前需要根据接口编写对应的接入模块,限制了系统的灵活性。此外,YARN底层存储以来HDFS,无法提供对其余分布式存储系统的支持。
[0003]Mesos是另一个主流的集群资源管理项目,与YARN不同,Mesos采用两层调度的架构,上层调度器只进行粗粒度的资源分配,具体各个框架内部的作业调度则交给第二层调度器,由此降低了调度器的负载。计算框架在接入Mesos之前需要向Master节点进行注册,注册过程中Master会为该框架分配一定资源,该部分工作由第一层调度器完成。获取资源之后,后续的用户任务将由第二层调度器在所获取的资源范围内进行调度。Mesos的两层调度降低了调度器的负载,同时能够支持部署多种存储系统,然而Mesos的问题在于分布式应用的接入仍然需要编写专门的模块,而且无法支持部署同一存储系统的多个实例。
[0004]YARN对Hadoop生态系统的应用支持很好,但是底层存储依赖于HDFS,无法满足多样化存储的需求;MeS0S采用两层调度的架构解决了单点调度器的瓶颈问题,但其仍然无法支持部署同一存储应用的多个实例。因此,如何设计一个能够在多租户环境下,提供多样化存储与计算应用的系统是一个需要解决的技术问题。

【发明内容】

[0005]本发明的目的旨在至少解决上述的技术缺陷之一。
[0006]为此,本发明的一个目的在于提出一种基于虚拟容器的大数据存储与管理系统,该系统采用虚拟容器技术进行资源与环境的隔离,采用双层调度的架构降低了上层调度器负载和分布式应用与调度器的耦合度,并且对实时调度存储系统提供了支持。
[0007]本发明的另一个目的在于提出一种基于虚拟容器的大数据存储与管理方法。
[0008]为了实现上述目的,本发明的第一方面的实施例公开了一种基于虚拟容器的大数据存储与管理系统,包括:元数据服务器,所述元数据服务器用于维护租户信息和用户信息,并在用户访问元数据和容器时进行权限认证;调度器,包括两层调度,其中,上层调度为容器级别的调度,下层调度为任务级别的调度,所述上层调度用于接收用户的请求,并为用户分配和配置对应的容器,所述下层调度由每个大数据计算框架的主节点完成,所述调度器具有接收用户提交任务的接口,以根据用户需求和从服务器发送的全局资源和任务运行情况,从集群中选择多个物理机以通过所述物理机中的容器执行所述任务,并向所述物理机上容器发送启停命令;多个从服务器,所述从服务器与所述调度器相互通讯,用于根据所述调度器发送的启停命令控制所述物理机上的容器的启停,并监控物理机的资源和任务运行情况,以及将所述资源和任务运行情况反馈给所述调度器。
[0009]另外,根据本发明上述实施例的基于虚拟容器的大数据存储与管理系统还可以具有如下附加的技术特征:
[0010]在一些示例中,所述租户信息包括:团体名称、联系方式和支付信息。
[0011]在一些示例中,所述元数据服务器包括:租户管理模块,用于维护每个租户信息,并为租户管理员提供设置用户权限的机制;用户管理模块,用于维护用户的信息,并对用户进行身份认证;权限认证模块,用于在用户访问元数据和容器时进行权限认证。
[0012]在一些示例中,所述从服务器包括:容器控制器,用于对所述物理机上的容器进行监控,并根据所述启停命令控制所述容器的启停;资源监控模块,用于监测所述物理机的资源和任务执行情况,其中,所述资源包括:CPU使用、内存占用、网络1和磁盘占用情况;通信模块,用于与所述调度器相互通信,并向所述调度器发送所述物理机的资源和任务执行情况,并接收所述调度器发送的所述启停命令。
[0013]在一些示例中,所述用户通过SSH向所述容器进行任务提交。
[0014]本发明第二方面的实施例公开了一种基于虚拟容器的大数据存储与管理方法,包括以下步骤:用户向调度器提交创建集群请求;所述调度器向从服务器发送资源占用情况请求;所述从服务器将物理机的资源占用情况反馈给所述调度器,所述调度器选择满足所述资源占用情况请求的物理机的集合;所述调度器通向所述从服务器发送容器启动命令;所述从服务器根据要求设置物理机上的容器的资源占用上限并启动所述容器;在所述容器启动完成后,所述从服务器通知所述调度器;所述调度器将所述容器的集群的IP发送给所述用户;所述用户向所述容器提交任务;当所述任务执行完毕后,所述容器向所述用户发送执行结果。
[0015]另外,根据本发明上述实施例的基于虚拟容器的大数据存储与管理方法还可以具有如下附加的技术特征:
[0016]在一些示例中,所述集群请求包括:应用类型、节点数、硬件描述,其中,所述硬件描述包括.-CPU频率、核数、硬盘大小和内存大小。
[0017]在一些示例中,所述从服务器利用应用容器引擎对任务占用的资源和环境进行隔离。
[0018]在一些示例中,所述用户通过SSH向所述容器提交任务。
[0019]在一些示例中,所述资源占用情况以链表的形式存储在所述调度器中。
[0020]本发明的实施例解决了如何在异构的底层存储硬件之上,提供统一的存储与计算池,满足用户多模态的存储需求与多样化的计算需求,并且能够隔离不同用户的资源与应用。本发明的实施例,采用虚拟容器技术进行资源与环境的隔离,采用双层调度的架构降低了顶层调度器负载以及分布式应用与调度器的耦合度,并且对实时调度存储系统提供了支持。
[0021]本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
【附图说明】
[0022]本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中,
[0023]图1是根据本发明一个实施例的基于虚拟容器的大数据存储与管理系统的结构框图;以及
[0024]图2是根据本发明一个实施例的基于虚拟容器的大数据存储与管理方法的流程图。
【具体实施方式】
[0025]下面详细描述本发明的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
[0026]在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1