kerberos认证集群访问方法、SparkStandalone集群及其驱动节点与流程

文档序号:11147446阅读:1150来源:国知局
kerberos认证集群访问方法、SparkStandalone集群及其驱动节点与制造工艺

本发明涉及通信技术领域,更具体的说,涉及kerberos认证集群访问方法、SparkStandalone集群及其驱动节点。



背景技术:

Spark是UC Berkeley AMP lab(加州大学伯克利分校的AMP实验室)所开源的通用并行框架,内部实现了容错性和资源管理,Spark的Standalone模式可以部署到单独的集群中,无需依赖其他资源管理系统,相对于其他的部署方式在性能上有一定的优势。

在实际应用中,SparkStandalone集群需要用到的计算资源可能会存放在某些认证集群中,例如Kerberos认证集群。然而,由于Kerberos认证的限制,SparkStandalone集群并不能直接对Kerberos认证集群中的计算资源进行访问,而且,目前也并没有可行的技术方案能够实现SparkStandalone集群对Kerberos认证集群中的计算资源的访问。

所以,目前迫切需要一种能够实现SparkStandalone集群对Kerberos认证集群中的计算资源进行访问的技术方案。



技术实现要素:

有鉴于此,本发明提供了一种kerberos认证集群访问方法、SparkStandalone集群及其驱动节点,以解决目前SparkStandalone集群无法访问kerberos认证集群中计算资源的问题。

为实现上述目的,本发明提供如下技术方案:

一种kerberos认证集群访问方法,应用于SparkStandalone集群中的驱动节点,所述方法包括:

当接收到第一用户通过客户端提交的Spark任务后,从所述kerberos认证集群获取所述第一用户的身份信息与密钥表文件,其中,所述第一用户为一kerberos认证用户;

利用所述第一用户的身份信息与密钥表文件,登陆kerberos认证服务器;

当登陆kerberos认证服务器成功后,从所述kerberos认证集群获取授权令牌;

当获取到所述授权令牌后,将所述授权令牌发送至执行节点,所述授权令牌用于所述执行节点访问所述kerberos认证集群中的计算资源。

优选的,所述SparkStandalone集群由第二用户启动,所述第二用户是与所述第一用户不同的另一kerberos认证用户。

优选的,所述kerberos认证集群中的第一用户的身份信息与密钥表文件,是由所述客户端在提交所述Spark任务时发送至所述kerberos认证集群的。

优选的,所述密钥表文件与所述第一用户的身份信息相匹配。

优选的,在所述从所述kerberos认证集群获取所述第一用户的身份信息与密钥表文件之后,以及,所述利用所述第一用户的身份信息与密钥表文件,登陆kerberos认证服务器之前,所述方法还包括:

将所述第一用户的身份信息与密钥表文件发送至所述kerberos认证服务器进行认证;

当认证通过后,执行所述利用所述第一用户的身份信息与密钥表文件,登陆kerberos认证服务器的步骤。

优选的,在从所述kerberos认证集群获取授权令牌之后,所述方法还包括:

当获取到所述授权令牌后,确定所述授权令牌的失效时间;

在所述失效时间到达结束之前,重新执行所述从所述kerberos认证集群获取授权令牌的步骤。

优选的,每一个授权令牌都具有一个唯一标识。

优选的,所述将所述授权令牌发送至执行节点,包括:

开启HTTP服务器;

通过所述HTTP服务器将所述授权令牌发送至所述执行节点。

一种SparkStandalone集群的驱动节点,包括:

任务接收单元,用于接收第一用户通过客户端提交的Spark任务;

信息获取单元,用于当所述任务接收单元接收到第一用户通过客户端提交的Spark任务后,从所述kerberos认证集群获取所述第一用户的身份信息与密钥表文件,其中,所述第一用户为一kerberos认证用户;

用户登陆单元,用于利用所述第一用户的身份信息与密钥表文件,登陆kerberos认证服务器;

令牌获取单元,用于当用户登陆单元登陆kerberos认证服务器成功后,从所述kerberos认证集群获取授权令牌;

令牌发送单元,用于当令牌获取单元获取到所述授权令牌后,将所述授权令牌发送至执行节点,所述授权令牌用于所述执行节点访问所述kerberos认证集群中的计算资源。

一种SparkStandalone集群,包括客户端、执行节点以及前述的驱动节点;

所述客户端,用于将第一用户的Spark任务提交至所述驱动节点;

所述执行节点,用于获取所述驱动节点发送的授权令牌,以及,利用所述授权令牌访问所述kerberos认证集群中的计算资源。

从上述的技术方案可以看出,本发明提供的kerberos认证集群访问方法、SparkStandalone集群及其驱动节点,驱动节点在接收到Spark任务后,从kerberos认证集群中获取第一用户的身份信息与密钥表文件,并利用所述第一用户的身份信息与密钥表文件登陆kerberos认证服务器,获取kerberos认证集群的授权令牌,将所述授权令牌发送给执行节点后,使执行节点能够利用所述授权令牌访问到kerberos认证集群的计算资源,从而实现了SparkStandalone集群对kerberos认证集群的计算资源的访问。

附图说明

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

图1为本申请实施例提供的kerberos认证集群访问方法的一种流程图;

图2为本申请实施例提供的kerberos认证集群访问方法的另一种流程图;

图3为本申请实施例提供的kerberos认证集群访问方法的再一种流程图;

图4为本申请实施例提供的SparkStandalone集群的驱动节点的一种结构示意图;

图5为本申请实施例提供的SparkStandalone集群的驱动节点的另一种结构示意图;

图6为本申请实施例提供的SparkStandalone集群的结构示意图。

具体实施方式

为了引用和清楚起见,下文中使用的技术名词的说明、简写或缩写总结如下:

kerberos认证集群:Kerberos是为TCP/IP网络系统设计的可信的第三方认证协议,kerberos认证集群是指采用Kerberos认证协议的集群。

SparkStandalone集群:Spark是UC Berkeley AMP lab(加州大学伯克利分校的AMP实验室)所开源的通用并行框架,Standalone是Spark所支持的一种分布式部署模式,SparkStandalone集群是指采用Spark的Standalone模式部署的集群。

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

请参阅图1,图1为本申请实施例提供的kerberos认证集群访问方法的一种流程图。

SparkStandalone集群中主要包括主控节点(Master)、工作节点(Worker)、驱动节点(Driver)、执行节点(Executor)和客户端(Client)等。本发明的kerberos认证集群访问方法,应用于SparkStandalone集群中的驱动节点(Driver)。

如图1所示,所述方法包括:

S101:当接收到第一用户通过客户端提交的Spark任务后,从所述kerberos认证集群获取所述第一用户的身份信息与密钥表文件;

在SparkStandalone集群中,第一用户会通过客户端向驱动节点提交Spark任务,驱动节点当接收到该Spark任务后,从kerberos认证集群获取第一用户的身份信息与密钥表文件(keytab),以利用第一用户的身份信息与密钥表文件登陆kerberos认证服务器,其中,第一用户为kerberos认证用户。

在一示例中,驱动节点在获取到第一用户的身份信息与密钥表文件后,可以将第一用户的身份信息与密钥表文件保存在该驱动节点的工作空间目录下,该工作空间目录可以防止其中的第一用户的身份信息与密钥表文件被其他程序或服务所获取,从而保证第一用户的身份信息与密钥表文件的安全性。

在另一示例中,SparkStandalone集群由第二用户启动。

在传统应用中,第二用户通常为预设安全用户,无论是提交Spark任务,还是执行Spark任务,均是以第二用户的身份来进行,所以无法确定出提交Spark任务的真实用户,导致用户身份的敏感性较差,也无法针对真实用户来进行任务追踪。

在该示例中,第二用户可以是与所述第一用户不同的另一kerberos认证用户。由第二用户启动SparkStandalone集群后,再切换至由第一用户通过客户端来提交Spark任务,从而使提交的Spark任务与提交该Spark任务的第一用户相对应。其中,第二用户可以是SparkStandalone集群的预设安全用户,第一用户可以是提交Spark任务的真实用户,从而能够在SparkStandalone集群中针对不同的真实用户来追踪其相对应的Spark任务执行情况。

相应地,若无需针对不同的真实用户来追踪其相对应的Spark任务执行情况,所述第二用户也可以与所述第一用户相同。

在又一示例中,kerberos认证集群中的第一用户的身份信息与密钥表文件,是由所述客户端在提交所述Spark任务时发送至所述kerberos认证集群的。

由于第一用户为kerberos认证用户,所以以第一用户的身份信息登录的客户端可以将第一用户的身份信息与密钥表文件发送至kerberos认证集群。

具体地,客户端可以将第一用户的身份信息与密钥表文件发送至kerberos认证集群中的指定位置。当指定位置已保存有用户的身份信息与密钥表文件时,先删除指定位置已保存的用户的身份信息与密钥表文件,再将第一用户的身份信息与密钥表文件发送到指定位置;当指定位置未保存有用户的身份信息与密钥表文件时,直接将第一用户的身份信息与密钥表文件发送到指定位置。

该示例中,由于第一用户的身份信息与密钥表文件被保存在kerberos认证集群中,只有kerberos认证用户才能获取到第一用户的身份信息与密钥表文件,从而保证了第一用户的身份信息与密钥表文件的安全性,有效降低了第一用户的身份信息与密钥表文件被窃取的风险。

S102:利用所述第一用户的身份信息与密钥表文件,登陆kerberos认证服务器;

驱动节点在获取到第一用户的身份信息与密钥表文件后,可以利用所述第一用户的身份信息与密钥表文件,登陆kerberos认证服务器。当第一用户为kerberos认证用户,且,密钥表文件与第一用户的身份信息相匹配时,驱动节点便能够利用第一用户的身份信息与密钥表文件,成功登陆kerberos认证服务器。

S103:当登陆kerberos认证服务器成功后,从所述kerberos认证集群获取授权令牌;

kerberos认证集群提供的每一个授权令牌(Token)都具有一个唯一标识,从而保证不同的驱动节点获取到的授权令牌都是唯一的,进而使得多个驱动节点的任务行为都是相互独立的,从而保证Spark任务的高并行度。例如,将授权令牌的唯一标识设定为获取该授权令牌的驱动节点的工作空间目录的名称,由于每一个驱动节点的工作空间目录的名称都是唯一的,所以保证了该驱动节点获取的授权令牌的唯一标识也是唯一的。

由于驱动节点是以第一用户的身份从kerberos认证集群获取的授权令牌,所以,该授权令牌不仅与该驱动节点相对应,而且还与该第一用户相对应。当然,第一用户还可以通过客户端将多个Spark任务分别提交至多个驱动节点,多个驱动节点分别获取相应的授权令牌。因此,同一个第一用户可以对应多个Spark任务、多个驱动节点以及多个授权令牌,而同一个授权令牌仅可以对应同一个驱动节点、同一个Spark任务以及同一个第一用户。

S104:当获取到所述授权令牌后,将所述授权令牌发送至执行节点,所述授权令牌用于所述执行节点访问所述kerberos认证集群中的计算资源。

执行节点利用授权令牌可以访问到kerberos认证集群中的计算资源,从而利用kerberos认证集群中的计算资源,执行第一用户提交的Spark任务。

kerberos认证集群主要包括HDFS、Hbase和Hive等。

在一示例中,驱动节点将所述授权令牌发送至执行节点,包括:

S1041:开启HTTP服务器;

S1042:通过所述HTTP服务器将所述授权令牌发送至所述执行节点。

在另一示例中,执行节点在接收到授权令牌后,可以将授权令牌保存在该执行节点的工作空间目录,以防止该授权令牌被其他程序或服务所获取,从而保证授权令牌的安全性。并且,执行节点还可以在Spark任务执行结束后,删除存放该授权令牌的工作空间目录,从而进一步保证授权令牌的安全性。

由于授权令牌与第一用户相对应,所以执行节点利用该授权令牌访问kerberos认证集群中的计算资源以执行Spark任务,就相当于执行节点是以第一用户的身份来执行Spark任务。

执行节点利用该授权令牌访问kerberos认证集群中的计算资源,具体可以是将该授权令牌添加到访问kerberos认证集群的对象中,以使该对象能够在授权令牌过期前访问kerberos认证集群中的计算资源。

本实施例提供的kerberos认证集群访问方法,应用于SparkStandalone集群中的驱动节点,驱动节点在接收到Spark任务后,从kerberos认证集群中获取第一用户的身份信息与密钥表文件,并利用所述第一用户的身份信息与密钥表文件登陆kerberos认证服务器,获取kerberos认证集群的授权令牌,将所述授权令牌发送给执行节点后,使执行节点能够利用所述授权令牌访问到kerberos认证集群的计算资源,从而实现了SparkStandalone集群对kerberos认证集群的计算资源的访问。

在实际应用中,为了保证kerberos认证集群中计算资源的安全性,还可以进一步加强对第一用户的认证。

请参阅图2,图2为本申请实施例提供的kerberos认证集群访问方法的另一种流程图。

如图2所示,所述方法包括:

S201:当接收到第一用户通过客户端提交的Spark任务后,从所述kerberos认证集群获取所述第一用户的身份信息与密钥表文件;

其中,所述第一用户为一kerberos认证用户。

在一示例中,kerberos认证集群中的第一用户的身份信息与密钥表文件,是由所述客户端在提交所述Spark任务时发送至所述kerberos认证集群的。客户端在将第一用户的身份信息与密钥表文件发送至kerberos认证集群之前,还包括:客户端将所述第一用户的身份信息与密钥表文件发送至所述kerberos认证服务器进行认证;当认证通过后,客户端利用所述第一用户的身份信息与密钥表文件,登陆kerberos认证服务器。

当客户端登录kerberos认证服务器成功后,kerberos认证服务器允许客户端将第一用户的身份信息与密钥表文件发送至kerberos认证集群;当客户端登录kerberos认证服务器失败后,kerberos认证服务器拒绝客户端将第一用户的身份信息与密钥表文件发送至kerberos认证集群。

客户端在将第一用户的身份信息与密钥表文件发送至kerberos认证集群之前,增加利用第一用户的身份信息与密钥表文件执行kerberos认证与登录的过程,进一步保证了kerberos认证集群访问过程的安全性。

S202:将所述第一用户的身份信息与密钥表文件发送至所述kerberos认证服务器进行认证;

驱动节点在利用所述第一用户的身份信息与密钥表文件登陆kerberos认证服务器之前,进一步加强对第一用户的认证,从而进一步保证了kerberos认证集群访问过程的安全性。

S203:当认证通过后,利用所述第一用户的身份信息与密钥表文件,登陆kerberos认证服务器;

在认证通过后,驱动节点才能够利用所述第一用户的身份信息与密钥表文件登陆kerberos认证服务器,以获取授权令牌,从而进一步保证了授权令牌的合法性,而执行节点利用合法的授权令牌来访问kerberos认证集群中的计算资源,进而保证了kerberos认证集群访问过程的安全性。

S204:当登陆kerberos认证服务器成功后,从所述kerberos认证集群获取授权令牌;

S205:当获取到所述授权令牌后,将所述授权令牌发送至执行节点,所述授权令牌用于所述执行节点访问所述kerberos认证集群中的计算资源。

S204-S205与前述S103-S104相类似,在此不作赘述。

本实施提供的kerberos认证集群访问方法,在客户端侧与驱动节点侧,都增加了对第一用户的kerberos认证与登录过程,进一步保证了第一用户的身份信息与密钥表文件以及授权令牌的合法性,从而提高了kerberos认证集群访问过程的安全性。

在实际应用中,Spark任务可能是长时任务,需要长时间的执行处理,很可能会超过授权令牌的失效时间,导致长时任务无法顺利完成。对此,本发明提供了以下实施例。

请参阅图3,图3为本申请实施例提供的kerberos认证集群访问方法的又一种流程图。

本实施例方案不仅适用于长时任务的执行,同样也适用于其他Spark任务的执行。其中,长时任务是指需要长时间执行的Spark任务。

如图3所示,所述方法包括:

S301:当接收到第一用户通过客户端提交的Spark任务后,从所述kerberos认证集群获取所述第一用户的身份信息与密钥表文件;

其中,所述第一用户为一kerberos认证用户。

S302:利用所述第一用户的身份信息与密钥表文件,登陆kerberos认证服务器;

S303:当登陆kerberos认证服务器成功后,从所述kerberos认证集群获取授权令牌;

S301-S303与前述S101-S103相类似,在此不再赘述。

S304:当获取到所述授权令牌后,确定所述授权令牌的失效时间;

每个授权令牌中都包含一个失效时间,驱动节点在获取到授权令牌时,即可确定出该授权令牌的失效时间。当授权令牌的失效时间到达时,该授权令牌失效,失效的授权令牌并不能用于执行节点访问所述kerberos认证集群中的计算资源。

S305:在所述失效时间到达之前,返回步骤S303;

S306:当获取到所述授权令牌后,将所述授权令牌发送至执行节点,所述授权令牌用于所述执行节点访问所述kerberos认证集群中的计算资源。

其中,步骤S304、S305和S306均是在获取到授权令牌之后执行,步骤306可以在S304和S305之前或之后执行,也可以在S304与S305之间执行,还可以与S304和S305同步执行,在此不作限定。

在一示例中,在所述失效时间到达之前,重新从所述kerberos认证集群获取授权令牌的时间,可以是第一用户设置的预设时间,该预设时间早于授权令牌的失效时间;也可以是根据第一用户设置的更新周期确定出的更新时间,该更新时间早于授权令牌的失效时间。

为了提高授权令牌的利用率,还可以将预设时间或更新时间的值设置为失效时间的值的80%。例如,授权令牌的失效时间为60分钟,那么,将预设时间或更新时间设置为48分钟,当时间到达48分钟时,距离到达失效时间还有12分钟,此时重新获取授权令牌,重新获取到授权令牌后,到达重新获取的授权令牌的失效时间还有60分钟,然后把重新获取的授权令牌发送至执行节点,从而延长了执行节点利用授权令牌访问kerberos认证集群中的计算资源的时间,保证了Spark任务的顺利完成。

本实施提供的kerberos认证集群访问方法,通过在授权令牌失效之前,重新获取有效的授权令牌,并将该授权令牌发送至执行节点,能够使得执行节点访问kerberos认证集群中计算资源所利用的授权令牌在Spark任务执行期间永远都是有效的,从而保证了长时任务的顺利执行。

对应于kerberos认证集群访问方法,本发明实施例还提供了SparkStandalone集群的驱动节点。

请参阅图4,图4为本申请实施例的SparkStandalone集群的驱动节点的一种结构示意图。

本实施例的SparkStandalone集群的驱动节点,用于实施前述实施例的kerberos认证集群访问方法,如图4所示,所述驱动节点U100包括:

任务接收单元U101,用于接收第一用户通过客户端提交的Spark任务;

信息获取单元U102,用于当所述任务接收单元U101接收到第一用户通过客户端提交的Spark任务后,从所述kerberos认证集群获取所述第一用户的身份信息与密钥表文件,其中,所述第一用户为一kerberos认证用户;

用户登陆单元U103,用于利用所述第一用户的身份信息与密钥表文件,登陆kerberos认证服务器;

令牌获取单元U104,用于当登陆kerberos认证服务器成功后,从所述kerberos认证集群获取授权令牌;

令牌发送单元U105,用于当令牌获取单元U104获取到所述授权令牌后,将所述授权令牌发送至执行节点,所述授权令牌用于所述执行节点访问所述kerberos认证集群中的计算资源。

在一示例中,所述驱动节点U100还包括:

用户认证单元,用于将所述第一用户的身份信息与密钥表文件发送至所述kerberos认证服务器进行认证。当认证通过后,再由用户登陆单元U103利用所述第一用户的身份信息与密钥表文件,登陆kerberos认证服务器。

在另一示例中,所述驱动节点U100还包括:

HTTP开启单元,用于开启HTTP服务器。令牌发送单元U105通过所述HTTP服务器将所述授权令牌发送至所述执行节点。

本实施例提供的SparkStandalone集群的驱动节点,在接收到Spark任务后,从kerberos认证集群中获取第一用户的身份信息与密钥表文件,并利用所述第一用户的身份信息与密钥表文件登陆kerberos认证服务器,获取kerberos认证集群的授权令牌,将所述授权令牌发送给执行节点后,使执行节点能够利用所述授权令牌访问到kerberos认证集群的计算资源,从而实现了SparkStandalone集群对kerberos认证集群的计算资源的访问。

请参阅图5,图5为本申请实施例的SparkStandalone集群的驱动节点的另一种结构示意图。

在本实施例中,所述驱动节点U100还包括:

令牌确定单元U106,用于当令牌获取单元U104获取到所述授权令牌后,确定所述授权令牌的失效时间;

具体地,在令牌获取单元U104从所述kerberos认证集群获取授权令牌后,令牌确定单元U106确定所述授权令牌的失效时间。

每个授权令牌中都包含一个失效时间,令牌获取单元U104在获取到授权令牌时,令牌确定单元U106即可确定出该授权令牌的失效时间。当授权令牌的失效时间到达时,该授权令牌失效,失效的授权令牌并不能用于执行节点访问所述kerberos认证集群中的计算资源。

令牌更新单元U107,用于在所述失效时间到达之前,控制令牌获取单元U104重新从所述kerberos认证集群获取授权令牌。

具体地,在所述失效时间到达之前,令牌更新单元U107控制令牌获取单元U104重新从所述kerberos认证集群获取授权令牌。

本实施例提供的SparkStandalone集群的驱动节点,通过在授权令牌失效之前,不断获取有效的授权令牌,并将该授权令牌发送至执行节点,能够使得执行节点访问kerberos认证集群中计算资源所利用的授权令牌永远都是有效的,从而保证了长时任务的顺利执行。

在实际应用中,Spark任务可能是长时任务,需要长时间的执行处理,很可能会超过授权令牌的失效时间,导致长时任务无法顺利完成。对此,本发明提供了以下实施例。

请参阅图6,图6为本申请实施例的SparkStandalone集群的结构示意图。

本实施例的SparkStandalone集群中,包括:客户端U200、执行节点U300以及前述实施例中的驱动节点U100;

所述客户端U200,用于将第一用户的Spark任务提交至所述驱动节点U100;

在一示例中,所述客户端U200还用于在提交所述Spark任务时,将第一用户的身份信息与密钥表文件发送至所述kerberos认证集群U400。

在该示例中,客户端U200在将第一用户的身份信息与密钥表文件发送至kerberos认证集群之前,还包括:客户端U200将所述第一用户的身份信息与密钥表文件发送至所述kerberos认证服务器U500进行认证;当认证通过后,客户端U200利用所述第一用户的身份信息与密钥表文件,登陆kerberos认证服务器U500。

当客户端U200登录kerberos认证服务器U500成功后,kerberos认证服务器U500允许客户端U200将第一用户的身份信息与密钥表文件发送至kerberos认证集群U400;当客户端U200登录kerberos认证服务器U500失败后,kerberos认证服务器U500拒绝客户端U200将第一用户的身份信息与密钥表文件发送至kerberos认证集群U400。

客户端U200在将第一用户的身份信息与密钥表文件发送至kerberos认证集群U400之前,增加利用第一用户的身份信息与密钥表文件执行kerberos认证与登录的过程,进一步保证了kerberos认证集群访问过程的安全性。

所述驱动节点U100,用于接收第一用户通过客户端U200提交的Spark任务;当接收到第一用户通过客户端U200提交的Spark任务后,从kerberos认证集群U400获取所述第一用户的身份信息与密钥表文件;利用所述第一用户的身份信息与密钥表文件,登陆kerberos认证服务器U500;当登陆kerberos认证服务器U500成功后,从所述kerberos认证集群U400获取授权令牌;当获取到所述授权令牌后,将所述授权令牌发送至执行节点U300。

所述执行节点U300,用于获取所述驱动节点U100发送的授权令牌,以及,利用所述授权令牌访问所述kerberos认证集群U400中的计算资源。

在一示例中,执行节点在获取到授权令牌后,可以将授权令牌保存在执行节点U300的工作空间目录,以防止该授权令牌被其他程序或服务所获取,从而保证授权令牌的安全性。并且,执行节点U300还可以在Spark任务执行结束后,删除存放该授权令牌的工作空间目录,从而进一步保证授权令牌的安全性。

由于授权令牌与第一用户相对应,执行节点U300利用该授权令牌访问kerberos认证集群U400中的计算资源以执行Spark任务,就相当于执行节点U300是以第一用户的身份来执行Spark任务。

执行节点U300利用该授权令牌访问kerberos认证集群U400中的计算资源,具体可以是将该授权令牌添加到访问kerberos认证集群的对象中,以使该对象能够在授权令牌过期前访问kerberos认证集群U400中的计算资源。

本实施例提供的SparkStandalone集群,由客户端将第一用户的Spark任务提交至所述驱动节点,并由驱动节点在接收到Spark任务后,从kerberos认证集群中获取第一用户的身份信息与密钥表文件,并利用所述第一用户的身份信息与密钥表文件登陆kerberos认证服务器,获取kerberos认证集群的授权令牌,将所述授权令牌发送给执行节点,再由执行节点利用所述授权令牌访问所述kerberos认证集群中的计算资源,从而实现了SparkStandalone集群对kerberos认证集群的计算资源的访问。

本发明提供的kerberos认证集群访问方法、SparkStandalone集群及其驱动节点,驱动节点在接收到Spark任务后,从kerberos认证集群中获取第一用户的身份信息与密钥表文件,并利用所述第一用户的身份信息与密钥表文件登陆kerberos认证服务器,获取kerberos认证集群的授权令牌,将所述授权令牌发送给执行节点后,使执行节点能够利用所述授权令牌访问到kerberos认证集群的计算资源,从而实现了SparkStandalone集群对kerberos认证集群的计算资源的访问。

本发明提供的技术方案,在客户端将第一用户的身份信息与密钥表文件发送至所述kerberos认证集群之前,以及,驱动节点从kerberos认证集群获取授权令牌之前,均对第一用户的身份信息与密钥表文件进行kerberos认证与登陆,保证了kerberos认证集群访问过程的安全性。

本发明提供的SparkStandalone集群的驱动节点,通过在授权令牌失效之前,重新获取授权令牌,并将该授权令牌发送至执行节点,能够使得执行节点访问kerberos认证集群中计算资源所利用的授权令牌在Spark任务执行期间永远都是有效的,从而保证了长时任务的顺利执行。

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

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本申请的限制。

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