一种操作维护系统和资源调度方法与流程

文档序号:12949133阅读:125来源:国知局
一种操作维护系统和资源调度方法与流程

本发明涉及数据业务技术领域,尤其涉及一种操作维护系统和资源调度方法。



背景技术:

现有技术中,企业中各个部门因为业务类型差异,在it基础架构上通常会存在分离建设的情况,如图1所示的it基础设施建设,这种分离的it基础架构存在一定的局限性,如缺乏统一规划,资源利用率低,重复投资,无法平滑共享数据,公共数据需要在集群中多次拷贝,耗费系统资源,需要较多运维/管理人员,维护成本高。因此,hadoop在2.x引入了资源调度系统,可以使得不同队列的应用共享集群资源。hadoop的资源调度系统以队列方式使用资源,而实际企业级hadoop集群中,由大型企业it运维人员通过直接管理队列的方式,来管理企业中各个部门的资源使用,如图2所示的资源合并管理的模式,各个部门分配一个队列接入集群,利用队列参数来控制各个部门对资源的使用。

虽然,现有技术中通过引入资源调度系统,提升企业it环境的资源利用率和数据共享程度,但是,现有技术中的队列映射存在一定的局限性,例如,直接使用队列,用户管理难度高,同一部门的多个用户与队列有复杂的配置映射关系;简单的进行部门与队列之间的映射,无法满足部门应用需求。



技术实现要素:

为解决上述技术问题,本发明实施例提供一种操作维护系统和资源调度方法,降低it运维成本,保障较高运维可靠性。

本发明的技术方案是这样实现的:

本发明实施例提供一种操作维护系统,所述操作维护系统应用于yarn框架,所述系统包括:租户管理模块,用于提供租户管理接口和租户用户接口;

所述租户管理接口,用于管理租户的增加、删除、修改、查找;

所述租户用户接口,用于管理租户和用户的关联关系。

进一步地,所述系统还包括:插件模块,用于将租户管理命令生成配置信息和配置生效命令。

进一步地,所述系统还包括:配置管理模块,用于管组件配置信息,以及组件级别配置的下发。

进一步地,所述系统还包括:集群组件事件处理模块,用于将用户操作信息翻译成操作维护系统内部的行为,并将事件提交给对应的模块处理。

进一步地,所述系统还包括:用户管理模块,用于管理用户信息的增加、删除、修改、查找。

进一步地,所述租户管理模块,具体用于新建租户和所述租户的配置;

所述插件模块,具体用于验证所述新建租户的配置信息,还用于当所述新建用户的配置信息验证成功后,生成资源配置关联队列、队列权限配置、配置生效命令;

所述租户管理模块,还用于根据所述资源配置关联队列、队列权限配置、配置生效命令同步配置,生效配置。

进一步地,所述用户管理模块,用于添加用户关联租户;用于若所述租户信息查询成功,创建用户信息;

所述租户管理模块,用于查询所述租户信息;还用于根据所述配置命令、生效命令同步配置,生效配置;

所述插件模块,用于建立所述用户信息与所述租户信息关联,生成配置命令、生效命令。

进一步地,所述系统还包括:操作管理模块。

本发明实施例还提供一种资源调度方法,所述方法应用于yarn框架,所述方法包括:

添加租户和所述租户的配置,验证所述添加租户的配置信息;

当所述添加用户的配置信息验证成功后,生成资源配置关联队列、队列权限配置、配置生效命令;

根据所述资源配置关联队列、队列权限配置、配置生效命令同步配置,生效配置。

进一步地,所述根据所述资源配置关联队列、队列权限配置、配置生效命令同步配置,生效配置,包括:

根据所述资源配置关联队列、队列权限配置、配置生效命令生成配置数据和生效命令;

根据所述配置数据和生效命令更改配置,同步yarn配置,生效配置。

本发明实施例还提供一种资源调度方法,所述方法应用于yarn框架,所述方法包括:

添加用户关联租户,查询所述租户信息;

若所述租户信息查询成功,创建用户信息,建立所述用户信息与所述租户信息关联,生成配置命令、生效命令;

根据所述配置命令、生效命令同步配置,生效配置。

进一步地,所述若所述租户信息查询成功,创建用户信息,建立所述用户信息与所述租户信息关联,生成配置命令、生效命令,包括:

若所述租户信息查询成功,创建用户信息,建立所述用户信息与所述租户信息关联,将所述租户信息关联yarn用户信息;

根据所述用户信息与所述租户信息的关联信息以及所述租户信息关联的yarn用户信息生成配置命令、生效命令。

本发明实施例提供了一种操作维护系统和资源调度方法,所述系统包括:租户管理模块,用于提供租户管理接口和租户用户接口;所述租户管理接口,用于管理租户的增加、删除、修改、查找;所述租户用户接口,用于管理租户和用户的关联关系。现有的yarn只有队列概念和用户概念,而不存在租户概念,本发明实施例提供的操作维护系统和资源调度方法,在yarn中引入租户架构,将hadoop对资源/权限的管控的具体实现与运维活动隔离,从而达到降低it运维成本,保障较高运维可靠性。

附图说明

图1为现有技术的it基础架构示例图;

图2为现有技术的资源合并管理示例图;

图3为本发明实施例提供的分层组织架构示例图;

图4为本发明实施例提供的操作维护系统结构示意图;

图5为本发明实施例提供的操作维护系统示例图;

图6为本发明实施例提供的资源调度方法流程示意图一;

图7为本发明实施例提供的添加租户流程例图;

图8为本发明实施例提供的资源调度方法流程示意图二;

图9为本发明实施例提供的操作维护系统关联业支和网管的示例图;

图10为本发明实施例提供的租户与分层组织的映射关系示例图;

图11为本发明实施例提供的基于标签的资源分配示例图;

图12为本发明实施例提供的租户到组件的映射关系示例图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。

现有的yarn只有队列概念和用户概念,而不存在租户概念,本发明实施例提供的方法中,在yarn中引入租户架构,将hadoop对资源/权限的管控的具体实现与运维活动隔离,从而达到降低it运维成本,保障较高运维可靠性。

其中,另一种资源协调者(yarn,yetanotherresourcenegotiator)是一种新的hadoop资源管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。

示例性的,如图3所示,基于租户概念分层组织架构,在企业日常运行当中,是以用户接入资源系统的,用户与租户关联,其资源访问,权限控制能力对应于一定租户,一个用户可以同时拥有若干租户的身份;操作维护系统通过自动添加机制,完成用户与租户关系的映射,避免由系统管理员手动管理,降低了企业运维的风险和难度。

其中,用户与租户的关系包括:租户不是用户;用户可以关联一个或者多个租户;一个租户与一个或者多个角色相关;用户的资源使用能力由其所归属的租户决定;用户的权限由租户关联角色的权限决定。

本发明实施例提供一种操作维护系统1,该操作维护系统应用于yarn框架,如图4所示,该系统可以包括:

租户管理模块10,用于提供租户管理接口11和租户用户接口12;

所述租户管理接口11,用于管理租户的增加、删除、修改、查找;

所述租户用户接口12,用于管理租户和用户的关联关系。

进一步地,所述系统还包括:插件模块13,用于将租户管理命令生成配置信息和配置生效命令。

进一步地,所述系统还包括:配置管理模块14,用于管组件配置信息,以及组件级别配置的下发。

进一步地,所述系统还包括:集群组件事件处理模块15,用于将用户操作信息翻译成操作维护系统内部的行为,并将事件提交给对应的模块处理。

进一步地,所述系统还包括:用户管理模块16,用于管理用户信息的增加、删除、修改、查找。

进一步地,所述租户管理模块10,具体用于新建租户和所述租户的配置;

所述插件模块13,具体用于验证所述新建租户的配置信息,还用于当所述新建用户的配置信息验证成功后,生成资源配置关联队列、队列权限配置、配置生效命令;

所述租户管理模块10,还用于根据所述资源配置关联队列、队列权限配置、配置生效命令同步配置,生效配置。

进一步地,所述用户管理模块16,用于添加用户关联租户;用于若所述租户信息查询成功,创建用户信息;

所述租户管理模块10,用于查询所述租户信息;还用于根据所述配置命令、生效命令同步配置,生效配置;

所述插件模块13,用于建立所述用户信息与所述租户信息关联,生成配置命令、生效命令。

进一步地,所述系统还包括:操作管理模块17。

具体的,在实现层面,由操作维护系统来进行租户的添加,删除,权限管理等动作进行的。如图5所示,通过统一建模语言(uml,unifiedmodelinglanguage)展示了操作维护系统中有关多租户资源和权限管理的系统架构。

具体的,租户管理模块,用于向外提供租户管理接口和租户用户管理接口;租户管理接口,用于管理租户的增删改查,其行为通过集群管理事件进行触发;租户用户管理接口,用于管理租户和用户的关联关系,其行为通过用户管理模块进行触发。

所述系统还包括:插件模块13,即组件操作维护插件,用于将抽象的租户管理命令具体化。

如图5所示,组件操作维护插件包括:yarn操作维护插件和hive操作维护插件,组件操作维护插件,用于将抽象的租户管理命令具体化;例如,根据添加租户的命令,生成现有调度器可以识别的配置信息,并生成响应的配置生效命令。

如图5所示,所述系统还包括:配置管理模块、操作管理模块、命令执行接口、集群组件事件处理模块、用户管理模块。

配置管理模块,用于管理所有组件配置信息的管理,以及组件级别配置的下发。

集群组件事件处理模块,用于将前台操作信息翻译成操作维护系统内部的行为,将事件提交给对应的模块处理;

用户管理模块,用于管理用户信息的增加、删除、修改、查找。

本发明实施例提供的操作维护系统,在yarn中引入租户架构,将hadoop对资源/权限的管控的具体实现与运维活动隔离,从而达到降低it运维成本,保障较高运维可靠性。

本发明实施例提供一种资源调度方法,如图6所示,所述方法包括:

步骤101、添加租户和所述租户的配置,验证所述添加租户的配置信息;

步骤102、当所述添加用户的配置信息验证成功后,生成资源配置关联队列、队列权限配置、配置生效命令;

步骤103、根据所述资源配置关联队列、队列权限配置、配置生效命令同步配置,生效配置。

其中,所述根据所述资源配置关联队列、队列权限配置、配置生效命令同步配置,生效配置,具体可以包括:

根据所述资源配置关联队列、队列权限配置、配置生效命令生成配置数据和生效命令;

根据所述配置数据和生效命令更改配置,同步yarn配置,生效配置。

具体的,如图7所示,以租户信息添加过程,对操作维护系统内部的运作进行说明,添加租户的过程包括:通过图形用户界面(gui,graphicaluserinterface)添加租户及其配置;操作维护系统事件处理分配;校验租户信息;生成资源配置,权限配置信息,配置生效命令;同步yarn配置,生效配置。

其中,gui,又称图形用户接口,是指采用图形方式显示的计算机操作用户界面。

需要说明的是,添加租户的过程,就是建立租户与资源队列、权限映射的映射关系。

本发明实施例提供的资源调度方法,在yarn中引入租户架构,将hadoop对资源/权限的管控的具体实现与运维活动隔离,从而达到降低it运维成本,保障较高运维可靠性。

本发明实施例提供一种资源调度方法,如图8所示,所述方法包括:

步骤201、添加用户关联租户,查询所述租户信息;

步骤202、若所述租户信息查询成功,创建用户信息,建立所述用户信息与所述租户信息关联,生成配置命令、生效命令;

步骤203、根据所述配置命令、生效命令同步配置,生效配置。

其中,所述若所述租户信息查询成功,创建用户信息,建立所述用户信息与所述租户信息关联,生成配置命令、生效命令,具体可以包括:

若所述租户信息查询成功,创建用户信息,建立所述用户信息与所述租户信息关联,将所述租户信息关联yarn用户信息;

根据所述用户信息与所述租户信息的关联信息以及所述租户信息关联的yarn用户信息生成配置命令、生效命令。

具体的,在系统管理层面,并不允许终端用户直接使用租户直接向系统中提交作业;终端用户只允许使用用户直接向系统提交,这就需要根据用户属性将租户和用户关联。例如,业支的用户关联到业支的租户,网管的租户关联到网管的租户,而如果存在一类用户,需要使用业支租户和网管租户二者的资源和操作权限,则关联业支和网管两个租户,示例性的,如图9所示,操作维护系统关联业支和网管的序列图。

需要说明的是,yarn只有队列概念和用户概念,而不存在租户概念的,本发明的操作维护系统增加租户概念,并利用yarn的用户管理机制和队列管理机制构建了企业级的集群资源管理能力。

本发明实施例提供的资源调度方法,在yarn中引入租户架构,将hadoop对资源/权限的管控的具体实现与运维活动隔离,从而达到降低it运维成本,保障较高运维可靠性。

在企业运维层面,企业的组织架构决定了租户的设计方式;对于大多数企业来讲,采用分层组织架构,而租户作为企业组织关系的映射,也采用分层组织架构形式。

在实际运维中,因为企业业务复杂度高,租户与组织架构之间如果采用一一映射并不能满足企业应用需求,这是因为企业集群应用存在这优先级,甚至作业类型的差别,而现有的yarn的资源管理单位为队列,并不能满足所有这些应用需求,本发明实施例通过灵活控制租户结构,弥补现有技术与实际应用之间的差距。

如图10所示,租户与分层组织的映射关系,部门1与租户1映射,部门2与租户2映射。租户的描述信息当中,应当体现其可以提交的作业类型以及每一种类型作业可以接受的优先级。

在基于hadoop的集群中,yarn的调度目前有两种开源实现,一种是容量调度器(capacity),另一种是公平调度器(fairshare)。本发明采用较为成熟的capacity调度器,首先将将租户结构,映射容量调度器的父队列,再通过租户的子队列划分不同作业类型的资源容量配比,最后通过作业类型的子队列划分同类型不同优先级作业的资源容量配比。

将优先级映射为不同子队列而不使用标签机制划分不同优先级应用的原因是yarn的容量调度器不支持队列内部基于优先级的抢占,从社区发展来看,队列内部基于优先级的抢占将会再后续版本支持,通过减少队列的方式可以使得版本升级更加平滑。

示例性的,队列1与租户1对应,如果租户1的用户倘若提交“应用类型1优先级1”的作业,作业实际会提交到右侧队列模型root/队列1/应用类型1/优先级1这个子队列当中。

在运维界面,运维人员通过租户视图,获得租户的应用类型以及优先级信息,可以跳转至队列配置视图,根据调度器参数,调整具体队列配置。

考虑到yarn的调度方式,租户资源配置需要映射为队列资源配置信息。实际中,容量调度器成熟度较高,本发明以容量调度器为例说明资源共享方式。

对于租户/应用类型/应用优先级这种典型的企业资源分配模式,首先应该处理租户间的资源容量配比。

租户间的资源容量配置包括:租户是否开启;当前租户可占用集群总资源的最小值;当前租户可占用集群总资源的最大值;applicationmaster允许占用租户总资源的比例;租户可以容纳应用的总数;租户可以访问的特定资源组信息(通过节点标签);队列访问控制列表acl。

现实企业应用环境中,异构集群是一种常见形式。异构集群是指集群中的机器资源(如cpu/内存/io能力)配置不同。本发明使用容量调度器标签机制提供分层组织使用异构资源的能力。

如图11所示,通过使用标签,将异构资源按照比例,分配给租户1。换而言之,租户1按照特定比例占有各类资源。从而更高效的利用集群资源。图11表示租户a占有大内存机器40%的容量,高性能cpu60%的容量以及无标签机器50%的容量。

可以用公式标志为:

应用类型资源配置与租户间资源配置相同。

优先级类型资源配置除了与租户间资源配置相同外,还需要包含:

单个用户资源使用限制因子,表示单个用户能使用的资源可以超出队列总资源的倍数;

单个用户最小资源使用比例,表示单个用户最少使用资源占队列总资源的比例;

从资源共享角度,租户之间会存在资源借用与资源回收的情况,本发明通过队列间资源抢占完成资源的借用与回收。队列间资源抢占需要使能yarn容量调度器的抢占开关,并配置抢占参数:抢占使能、抢占策略、抢占周期、容器结束等待时间、单轮抢占的容器数量和比例因子、队列资源容量超额容忍度。

队列在负荷较低时,可以将资源出让给需求较高的队列,一旦队列负荷增高,会按照抢占周期,策略,比例因子等抢占以借出的资源,知道满足队列配置的最小容量。

本发明通过资源抢占,可以在不同租户,同一租户不同应用类型,以及同一租户同一类型不同优先级的应用之间进行资源的借用与抢占,达到分层组织资源的最大化利用。

租户权限的设计,需要将租户管理与权限管理联系起来;

租户信息,应该包含<租户,应用,优先级>三元组;

权限信息,应当映射为角色。

一个角色应当拥有特定权限,如访问hbase的某一列,或者访问hive的某个表;

一个租户,可以与多个角色关联,取决于角色需要完成的任务。当某个用户关联到租户上之后,这个用户也拥有这个租户的权限。

在以hadoop为基础的大数据系统当中,组件类型繁多,不同组件的权限不同,例如yarn的权限通常是队列的管理权限和作业的提交权限,而hdfs的权限则是文件目录访问控制权限,hive则是表的管理权限等等。这样就需要解耦权限管理与具体权限控制。

本发明根据大数据平台特性,提出插件试权限管理概念,将权限控制的操作如权限的增、删、改、查抽象成接口,而将具体权限控制下方给各个组件,从而完成权限控制行为与组件权限控制的解耦,从而使得角色可以通过各种粒度组合权限,进行租户的权限控制。

如图12所示,一个从租户到组件的映射关系,其中虚线部分表示的权限在操作维护系统中的增、删、改、查的抽象。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1