一种多租户管理方法及装置与流程

文档序号:16815447发布日期:2019-02-10 14:24阅读:352来源:国知局
一种多租户管理方法及装置与流程

本发明涉及计算机技术领域,特别涉及一种多租户管理方法及装置。



背景技术:

spark是apache一个开源的框架,该组件中的sparkthriftserver给用户提供了一个可以使用标准sql语句访问大数据的基于内存高速计算的高可用服务。但是,现有技术中无法实现对多租户访问sparkthriftserver的权限控制。



技术实现要素:

本发明实施例提供了一种多租户管理方法及装置,能够实现多租户访问sparkthriftserver的权限控制。

第一方面,本发明实施例提供了一种多租户管理方法,包括:

预先接收外部输入的针对至少一个sparkthriftserver的第一授权策略和至少一个服务地址,其中,所述至少一个sparkthriftserver与所述至少一个服务地址一一对应;

将所述第一授权策略配置到ranger中;

将所述至少一个服务地址配置到apacheknoxgateway中;

所述apacheknoxgateway接收当前租户访问目标服务地址的访问命令;

所述ranger根据所述第一授权策略,判断所述当前租户是否有权限访问所述目标服务地址对应的sparkthriftserver,如果是,则允许所述当前租户通过所述目标服务地址访问所述目标服务地址对应的sparkthriftserver,否则,不允许所述当前租户通过所述目标服务地址访问所述目标服务地址对应的sparkthriftserver。

优选地,

该方法进一步包括:

预先接收外部输入的针对yarn队列的第二授权策略;

将所述第二授权策略配置到所述ranger中;

在所述允许所述当前租户访问所述目标服务地址对应的sparkthriftserver之后,进一步包括:

所述目标服务地址对应的sparkthriftserver接收所述当前租户发来的请求在目标yarn队列上运行计算任务的请求命令;

所述ranger根据所述第二授权策略,判断所述当前租户是否有权限使用所述目标yarn队列,如果是,则允许所述当前租户在所述目标yarn队列上运行所述计算任务,否则,不允许所述当前租户在所述目标yarn队列上运行所述计算任务。

优选地,

该方法进一步包括:

预先设置yarn的调度策略,将所述调度策略配置到所述yarn中,其中,所述调度策略中包括:每个所述yarn队列与计算资源的第一对应关系;

在所述允许所述当前租户在所述目标yarn队列上运行所述计算任务之后,进一步包括:

所述yarn按照所述调度策略中的所述第一对应关系,为所述目标yarn队列分配对应的计算资源。

优选地,

所述第二授权策略中包括:每个租户与所述yarn队列的第二对应关系,其中,每个租户有权限使用在所述第二对应关系中对应的所述yarn队列;

所述ranger根据所述第二授权策略,判断所述当前租户是否有权限使用所述目标yarn队列,如果是,则允许所述当前租户在所述目标yarn队列上运行所述计算任务,否则,不允许所述当前租户在所述目标yarn队列上运行所述计算任务,包括:

所述ranger根据所述第二授权策略中的所述第二对应关系,确定所述当前租户对应的可使用的yarn队列;

所述ranger判断所述当前租户对应的可使用的yarn队列与所述目标yarn队列是否相同,如果是,则允许所述当前租户在所述目标yarn队列上运行所述计算任务,否则,不允许所述当前租户在所述目标yarn队列上运行所述计算任务。

优选地,

所述第一授权策略中包括:每个租户与所述sparkthriftserver的第三对应关系,其中,每个租户有权限访问在所述第三对应关系中对应的所述sparkthriftserver;

所述ranger根据所述第一授权策略,判断所述当前租户是否有权限访问所述目标服务地址对应的sparkthriftserver,如果是,则允许所述当前租户通过所述目标服务地址访问所述目标服务地址对应的sparkthriftserver,否则,不允许所述当前租户通过所述目标服务地址访问所述目标服务地址对应的sparkthriftserver,包括:

所述ranger根据所述第一授权策略中的所述第三对应关系,确定所述当前租户对应的可访问的sparkthriftserver;

所述ranger判断所述当前租户对应的可访问的sparkthriftserver与所述目标服务地址对应的sparkthriftserver是否相同,如果是,则允许所述当前租户通过所述目标服务地址访问所述目标服务地址对应的sparkthriftserver,否则,不允许所述当前租户通过所述目标服务地址访问所述目标服务地址对应的sparkthriftserver。

第二方面,本发明实施例提供了一种多租户管理装置,包括:

配置单元、apacheknoxgateway、ranger和至少一个sparkthriftserver;

所述配置单元,用于接收外部输入的针对至少一个sparkthriftserver的第一授权策略和至少一个服务地址,其中,所述至少一个sparkthriftserver与所述至少一个服务地址一一对应;将所述第一授权策略配置到ranger中;将所述至少一个服务地址配置到apacheknoxgateway中;

所述apacheknoxgateway,用于接收当前租户访问目标服务地址的访问命令;

所述ranger,用于根据所述第一授权策略,判断所述当前租户是否有权限访问所述目标服务地址对应的sparkthriftserver,如果是,则允许所述当前租户通过所述目标服务地址访问所述目标服务地址对应的sparkthriftserver,否则,不允许所述当前租户通过所述目标服务地址访问所述目标服务地址对应的sparkthriftserver。

优选地,

所述配置单元,进一步用于接收外部输入的针对yarn队列的第二授权策略;将所述第二授权策略配置到所述ranger中;

所述目标服务地址对应的sparkthriftserver,用于接收所述当前租户发来的请求在目标yarn队列上运行计算任务的请求命令;

所述ranger,进一步用于根据所述第二授权策略,判断所述当前租户是否有权限使用所述目标yarn队列,如果是,则允许所述当前租户在所述目标yarn队列上运行所述计算任务,否则,不允许所述当前租户在所述目标yarn队列上运行所述计算任务。

优选地,

该装置进一步包括:yarn;

所述配置单元,进一步用于设置所述yarn的调度策略,将所述调度策略配置到所述yarn中,其中,所述调度策略中包括:每个所述yarn队列与计算资源的第一对应关系;

所述yarn,用于按照所述调度策略中的所述第一对应关系,为所述目标yarn队列分配对应的计算资源。

优选地,

所述第二授权策略中包括:每个租户与所述yarn队列的第二对应关系,其中,每个租户有权限使用在所述第二对应关系中对应的所述yarn队列;

所述ranger,用于:

根据所述第二授权策略中的所述第二对应关系,确定所述当前租户对应的可使用的yarn队列;

判断所述当前租户对应的可使用的yarn队列与所述目标yarn队列是否相同,如果是,则允许所述当前租户在所述目标yarn队列上运行所述计算任务,否则,不允许所述当前租户在所述目标yarn队列上运行所述计算任务。

优选地,

所述第一授权策略中包括:每个租户与所述sparkthriftserver的第三对应关系,其中,每个租户有权限访问在所述第三对应关系中对应的所述sparkthriftserver;

所述ranger,用于:

根据所述第一授权策略中的所述第三对应关系,确定所述当前租户对应的可访问的sparkthriftserver;

判断所述当前租户对应的可访问的sparkthriftserver与所述目标服务地址对应的sparkthriftserver是否相同,如果是,则允许所述当前租户通过所述目标服务地址访问所述目标服务地址对应的sparkthriftserver,否则,不允许所述当前租户通过所述目标服务地址访问所述目标服务地址对应的sparkthriftserver。

在本发明实施例中,预先为ranger配置第一授权策略,并通过apacheknoxgateway为租户提供各个sparkthriftserver的服务地址,在租户访问任一目标服务地址,ranger根据第一授权策略对该租户进行验证,判断该租户是否有权限访问目标服务地址对应的sparkthriftserver,在该租户有权限的情况下才允许该租户访问目标服务地址对应的sparkthriftserver,实现了多租户访问sparkthriftserver的权限控制。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一实施例提供的一种多租户管理方法的流程图;

图2是本发明一实施例提供的另一种多租户管理方法的流程图;

图3是本发明一实施例提供的一种多租户管理装置的示意图;

图4是本发明一实施例提供的另一种多租户管理装置的示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,本发明实施例提供了一种多租户管理方法,该方法可以包括以下步骤:

步骤101:预先接收外部输入的针对至少一个sparkthriftserver的第一授权策略和至少一个服务地址,其中,所述至少一个sparkthriftserver与所述至少一个服务地址一一对应;

步骤102:将所述第一授权策略配置到ranger中;

步骤103:将所述至少一个服务地址配置到apacheknoxgateway中;

步骤104:所述apacheknoxgateway接收当前租户访问目标服务地址的访问命令;

步骤105:所述ranger根据所述第一授权策略,判断所述当前租户是否有权限访问所述目标服务地址对应的sparkthriftserver,如果是,则执行步骤106,否则,执行步骤107;

步骤106:允许所述当前租户通过所述目标服务地址访问所述目标服务地址对应的sparkthriftserver;

步骤107:不允许所述当前租户通过所述目标服务地址访问所述目标服务地址对应的sparkthriftserver。

在本发明实施例中,预先为ranger配置第一授权策略,并通过apacheknoxgateway为租户提供各个sparkthriftserver的服务地址,在租户访问任一目标服务地址,ranger根据第一授权策略对该租户进行验证,判断该租户是否有权限访问目标服务地址对应的sparkthriftserver,在该租户有权限的情况下才允许该租户访问目标服务地址对应的sparkthriftserver,实现了多租户访问sparkthriftserver的权限控制。

在本发明一实施例中,该方法进一步包括:

预先接收外部输入的针对yarn队列的第二授权策略;

将所述第二授权策略配置到所述ranger中;

在所述允许所述当前租户访问所述目标服务地址对应的sparkthriftserver之后,进一步包括:

所述目标服务地址对应的sparkthriftserver接收所述当前租户发来的请求在目标yarn队列上运行计算任务的请求命令;

所述ranger根据所述第二授权策略,判断所述当前租户是否有权限使用所述目标yarn队列,如果是,则允许所述当前租户在所述目标yarn队列上运行所述计算任务,否则,不允许所述当前租户在所述目标yarn队列上运行所述计算任务。

在本发明实施例中,预先为ranger配置第二授权策略,租户在连接到sparkthriftserver后,需要使用yarn队列运行计算任务,ranger根据第二授权策略判断租户是否有权限使用请求的目标yarn队列,这样,实现对租户使用yarn队列的权限控制,另外,各个租户使用其对应的yarn队列运行计算任务,实现了资源隔离。

在本发明一实施例中,该方法进一步包括:

预先设置yarn的调度策略,将所述调度策略配置到所述yarn中,其中,所述调度策略中包括:每个所述yarn队列与计算资源的第一对应关系;

在所述允许所述当前租户在所述目标yarn队列上运行所述计算任务之后,进一步包括:

所述yarn按照所述调度策略中的所述第一对应关系,为所述目标yarn队列分配对应的计算资源。

在本发明实施例中,计算资源可以包括:cpu、内存、虚拟核等资源。通过调度策略中的第一对应关系为每个yarn队列分配相应的计算资源。计算资源可以通过资源占比、权重值来分配,例如用:第一个yarn队列对应的计算资源为50%的cpu、30%的内存等。

在本发明一实施例中,所述第二授权策略中包括:每个租户与所述yarn队列的第二对应关系,其中,每个租户有权限使用在所述第二对应关系中对应的所述yarn队列;

所述ranger根据所述第二授权策略,判断所述当前租户是否有权限使用所述目标yarn队列,如果是,则允许所述当前租户在所述目标yarn队列上运行所述计算任务,否则,不允许所述当前租户在所述目标yarn队列上运行所述计算任务,包括:

所述ranger根据所述第二授权策略中的所述第二对应关系,确定所述当前租户对应的可使用的yarn队列;

所述ranger判断所述当前租户对应的可使用的yarn队列与所述目标yarn队列是否相同,如果是,则允许所述当前租户在所述目标yarn队列上运行所述计算任务,否则,不允许所述当前租户在所述目标yarn队列上运行所述计算任务。

在本发明实施例中,通过第二授权策略中的第二对应关系为每个租户分配yarn队列,每个租户只能使用第二对应关系中对应的yarn队列运行计算任务。

在本发明一实施例中,所述第一授权策略中包括:每个租户与所述sparkthriftserver的第三对应关系,其中,每个租户有权限访问在所述第三对应关系中对应的所述sparkthriftserver;

所述ranger根据所述第一授权策略,判断所述当前租户是否有权限访问所述目标服务地址对应的sparkthriftserver,如果是,则允许所述当前租户通过所述目标服务地址访问所述目标服务地址对应的sparkthriftserver,否则,不允许所述当前租户通过所述目标服务地址访问所述目标服务地址对应的sparkthriftserver,包括:

所述ranger根据所述第一授权策略中的所述第三对应关系,确定所述当前租户对应的可访问的sparkthriftserver;

所述ranger判断所述当前租户对应的可访问的sparkthriftserver与所述目标服务地址对应的sparkthriftserver是否相同,如果是,则允许所述当前租户通过所述目标服务地址访问所述目标服务地址对应的sparkthriftserver,否则,不允许所述当前租户通过所述目标服务地址访问所述目标服务地址对应的sparkthriftserver。

在本发明实施例中,通过第一授权策略中的第三对应关系为每个租户分配sparkthriftserver,每个租户只能连接第三对应关系中对应的sparkthriftserver。

如图2所示,本发明实施例提供了一种多租户管理方法,包括:

步骤201:预先接收外部输入的针对至少一个sparkthriftserver的第一授权策略、针对yarn队列的第二授权策略和至少一个服务地址,其中,所述至少一个sparkthriftserver与所述至少一个服务地址一一对应。

具体地,可以向外部提供配置页面,通过配置页面可以输入第一授权策略、第二授权策略和至少一个服务地址等内容。

另外,可以预先设置每个sparkthriftserver的服务名,通过sparkthriftserver的服务名作为sparkthriftserver的标识。在设置每个sparkthriftserver的服务地址时,可以通过每个sparkthriftserver的服务名来生成。

该每个sparkthriftserver的服务地址通过apacheknoxgateway提供给各个租户,apacheknoxgateway作为sparkthriftserver的代理,sparkthriftserver的服务地址作为apacheknoxgateway的映射访问地址,通过服务地址可以访问到对应的sparkthriftserver。

步骤202:将所述第一授权策略和第二授权策略配置到ranger中,将所述至少一个服务地址配置到apacheknoxgateway中。

具体地,apacheknoxgateway可动态设置并加载多个sparkthriftserver的服务。

步骤203:预先设置yarn的调度策略,将所述调度策略配置到所述yarn中,其中,所述调度策略中包括:每个所述yarn队列与计算资源的第一对应关系。

步骤204:所述apacheknoxgateway接收当前租户访问目标服务地址的访问命令。

具体地,租户可以通过apacheknoxgateway访问任一服务地址。

步骤205:所述ranger根据所述第一授权策略,判断所述当前租户是否有权限访问所述目标服务地址对应的sparkthriftserver,如果是,执行步骤206,否则,执行步骤207。

具体地,租户点击任一服务地址后,可以能无法连接到相应的sparkthriftserver,ranger需要对该租户的权限进行判断。

步骤206:允许所述当前租户通过所述目标服务地址访问所述目标服务地址对应的sparkthriftserver,执行步骤208。

具体地,在允许当前租户通过目标服务地址访问目标服务地址对应的sparkthriftserver后,当前租户可以连接到目标服务地址对应的sparkthriftserver。

步骤207:不允许所述当前租户通过所述目标服务地址访问所述目标服务地址对应的sparkthriftserver,结束当前流程。

具体地,当前租户无法连接到目标服务地址对应的sparkthriftserver。

步骤208:所述目标服务地址对应的sparkthriftserver接收所述当前租户发来的请求在目标yarn队列上运行计算任务的请求命令,执行步骤209。

具体地,当前租户发出请求命令后,可能无法使用所请求的目标yarn队列,需要ranger判断该当前租户是否有权限。

步骤209:所述ranger根据所述第二授权策略,判断所述当前租户是否有权限使用所述目标yarn队列,如果是,则执行步骤210,否则,执行步骤211。

步骤210:允许所述当前租户在所述目标yarn队列上运行所述计算任务,执行步骤212。

步骤211:不允许所述当前租户在所述目标yarn队列上运行所述计算任务,结束当前流程。

步骤212:所述yarn按照所述调度策略中的所述第一对应关系,为所述目标yarn队列分配对应的计算资源。

具体地,在允许当前租户使用目标yarn队列时,yarn为目标yarn队列分配计算资源,然后,可以利用这些计算资源在目标yarn队列上执行计算任务。

具体地,每个sparkthriftserver按照yarn的资源调度策略分配资源,并独立启动在不同的队列上,使用资源被隔离,相互间不侵犯。

另外,在启用sparkthriftserver、ranger、apacheknoxgateway和yarn之前,还需要配置以下内容:

1、修改spark参数hive.server2.transport.mode=http,通过该配置,使得sparkthriftserver支持通过apacheknoxgateway的服务地址进行访问。

2、如果集群启用kerberos权限认证,需要设置hive.server2.authentication.kerberos.keytab=/etc/security/keytabs/spnego.service.keytab和hive.server2.authentication.kerberos.principal=http/_host@indata.com。

3、修改apacheknoxgateway的admin.xml相关配置,修改main.ldaprealm.userdntemplate=krbprincipalname={0}@indata.com,cn=indata.com,cn=kerberos,dc=indata,dc=com和main.ldaprealm.contextfactory.url=ldap://{{knox_host_name}}:1389。

4、修改apacheknoxgateway的authorization中knox.acl的配置,将admin修改为*。

5、在apacheknoxgateway的topologies中增加以sparkthriftserver服务名命名,例如:thriftserver_service1的xml,并配置该服务名映射的hive的serviceurl,例如:url=http://{{hive_server_host}}:10021/cliservice。

当需要增加多个sparkthriftserver时,重复5中的配置。

6、在ranger中设置启用对knox的授权管理。

另外,在启动sparkthriftserver时,使不同租户启动不同的server服务,并在启动参数中设置租户已经通过ranger授权的队列和端口号以及在apacheknoxgateway中代理的服务的名称,如thriftserver_service1。

用户启动或访问sparkthriftserver时,访问apacheknoxgateway的代理地址如:http://10.10.6.10:8444/gateway/thriftserver_service1/hive。

不同的sparkthriftserver进程通过ranger的yarn队列授权,运行在不同的队列中,由yarn的调度策略控制,实现sparkthriftserver的资源隔离功能。

sparkthriftserver、ranger、apacheknoxgateway和yarn均为开源组件。

在本发明实施例中,利用apacheknoxgateway代理访问sparkthriftserver;不同的sparkthriftserver进程,分别启动在不同的yarn队列上;针对租户不同权限实现对sparkthriftserver访问控制;通过页面简单设置可以完成包括knox、ranger、yarn及sparkthriftserver的属性配置;多租户同时访问不同的sparkthriftserver时,实现资源隔离。

在本发明实施例中,合法租户通过apacheknoxgateway代理访问sparkthriftserver可以正常执行sql查询,执行spark计算任务,非法用户则无法连接sparkthriftserver。

在本发明实施例中,实现了租户访问sparkthriftserver的权限控制和资源隔离功能,大大提高了大数据资源的利用率,更好更方便的管理大数据集群。租户访问的权限控制,提高了大数据的安全级别,大数据资源隔离功能使得不同租户间的计算任务互不干扰,提高了工作效率,最大限度的发挥集群的优势,让大数据集群资源的多租户管理变得更方便,更有效。

如图3、图4所示,本发明实施例提供了一种多租户管理装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图3所示,为本发明实施例提供的一种多租户管理装置所在设备的一种硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图4所示,作为一个逻辑意义上的装置,是通过其所在设备的cpu将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。本实施例提供的一种多租户管理装置,包括:

配置单元401、apacheknoxgateway402、ranger403和至少一个sparkthriftserver404;

所述配置单元401,用于接收外部输入的针对至少一个sparkthriftserver的第一授权策略和至少一个服务地址,其中,所述至少一个sparkthriftserver与所述至少一个服务地址一一对应;将所述第一授权策略配置到ranger中;将所述至少一个服务地址配置到apacheknoxgateway中;

所述apacheknoxgateway402,用于接收当前租户访问目标服务地址的访问命令;

所述ranger403,用于根据所述第一授权策略,判断所述当前租户是否有权限访问所述目标服务地址对应的sparkthriftserver,如果是,则允许所述当前租户通过所述目标服务地址访问所述目标服务地址对应的sparkthriftserver,否则,不允许所述当前租户通过所述目标服务地址访问所述目标服务地址对应的sparkthriftserver。

图4中示出了1个sparkthriftserver404。

在本发明一实施例中,所述配置单元,进一步用于接收外部输入的针对yarn队列的第二授权策略;将所述第二授权策略配置到所述ranger中;

所述目标服务地址对应的sparkthriftserver,用于接收所述当前租户发来的请求在目标yarn队列上运行计算任务的请求命令;

所述ranger,进一步用于根据所述第二授权策略,判断所述当前租户是否有权限使用所述目标yarn队列,如果是,则允许所述当前租户在所述目标yarn队列上运行所述计算任务,否则,不允许所述当前租户在所述目标yarn队列上运行所述计算任务。

在本发明一实施例中,该装置进一步包括:yarn;

所述配置单元,进一步用于设置所述yarn的调度策略,将所述调度策略配置到所述yarn中,其中,所述调度策略中包括:每个所述yarn队列与计算资源的第一对应关系;

所述yarn,用于按照所述调度策略中的所述第一对应关系,为所述目标yarn队列分配对应的计算资源。

在本发明一实施例中,所述第二授权策略中包括:每个租户与所述yarn队列的第二对应关系,其中,每个租户有权限使用在所述第二对应关系中对应的所述yarn队列;

所述ranger,用于:

根据所述第二授权策略中的所述第二对应关系,确定所述当前租户对应的可使用的yarn队列;

判断所述当前租户对应的可使用的yarn队列与所述目标yarn队列是否相同,如果是,则允许所述当前租户在所述目标yarn队列上运行所述计算任务,否则,不允许所述当前租户在所述目标yarn队列上运行所述计算任务。

在本发明一实施例中,所述第一授权策略中包括:每个租户与所述sparkthriftserver的第三对应关系,其中,每个租户有权限访问在所述第三对应关系中对应的所述sparkthriftserver;

所述ranger,用于:

根据所述第一授权策略中的所述第三对应关系,确定所述当前租户对应的可访问的sparkthriftserver;

判断所述当前租户对应的可访问的sparkthriftserver与所述目标服务地址对应的sparkthriftserver是否相同,如果是,则允许所述当前租户通过所述目标服务地址访问所述目标服务地址对应的sparkthriftserver,否则,不允许所述当前租户通过所述目标服务地址访问所述目标服务地址对应的sparkthriftserver。

在本发明一实施例中,配置单元可以为外部提供配置页面,外部可以通过配置页面进行配置。

上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。

本发明实施例提供了一种可读介质,包括执行指令,当存储控制器的处理器执行所述执行指令时,所述存储控制器执行本发明实施例提供的任意一种多租户管理方法。

本发明实施例提供了一种存储控制器,包括:处理器、存储器和总线;

所述存储器用于存储执行指令,所述处理器与所述存储器通过所述总线连接,当所述存储控制器运行时,所述处理器执行所述存储器存储的执行指令,以使所述存储控制器执行本发明实施例提供的任意一种多租户管理方法。

本发明各个实施例至少具有如下有益效果:

1、在本发明实施例中,预先为ranger配置第一授权策略,并通过apacheknoxgateway为租户提供各个sparkthriftserver的服务地址,在租户访问任一目标服务地址,ranger根据第一授权策略对该租户进行验证,判断该租户是否有权限访问目标服务地址对应的sparkthriftserver,在该租户有权限的情况下才允许该租户访问目标服务地址对应的sparkthriftserver,实现了多租户访问sparkthriftserver的权限控制。

2、在本发明实施例中,预先为ranger配置第二授权策略,租户在连接到sparkthriftserver后,需要使用yarn队列运行计算任务,ranger根据第二授权策略判断租户是否有权限使用请求的目标yarn队列,这样,实现对租户使用yarn队列的权限控制,另外,各个租户使用其对应的yarn队列运行计算任务,实现了资源隔离。

3、在本发明实施例中,实现了租户访问sparkthriftserver的权限控制和资源隔离功能,大大提高了大数据资源的利用率,更好更方便的管理大数据集群。租户访问的权限控制,提高了大数据的安全级别,大数据资源隔离功能使得不同租户间的计算任务互不干扰,提高了工作效率,最大限度的发挥集群的优势,让大数据集群资源的多租户管理变得更方便,更有效。

需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质中。

最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

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