掌桥专利:专业的专利平台
掌桥专利
首页

一种基于TBDS Hadoop的Flink集成方法和系统

文献发布时间:2023-06-19 10:24:22


一种基于TBDS Hadoop的Flink集成方法和系统

技术领域

本申请涉及大数据运行技术领域,特别是涉及基于TBDS Hadoop的Flink集成方法和系统。

背景技术

在客户环境中有些客户购买了相关腾讯云资源(TBDS Hadoop),为了不额外增加客户成本,希望将产品部署至该环境,需要将产品中涉及的相关技术适配集成第三方腾讯云(TBDS Hadoop)环境。产品中使用的Flink开源组件不能在TBDS云环境中运行。

目前针对相关技术中无法运行的问题,尚未提出有效的解决方案。

发明内容

本申请实施例提供了一种基于TBDS Hadoop的Flink集成方法和系统,为解决相关技术中无法运行独权的技术问题,需要修改Flink安全认证模块代码,在不影响现有安全认证情况下增加TBDS Hadoop云环境安全认证的模块。

第一方面,本申请实施例提供了一种基于TBDS Hadoop的Flink集成方法,包括以下步骤:

Flink配置步骤,对Flink Client的配置文件和验证部分分别进行配置参数增加和兼容修改;

软件安装步骤,在一TBDS Hadoop Client上安装所述Flink Client,并在所述TBDS Hadoop Client的环境变量中配置安装认证配置;

版本jar包存储步骤,根据TBDS Hadoop的当前版本对一Flink-shaded进行编译并生成对应的版本jar包,将所述版本jar包存入Flink lib目录中;

认证配置步骤,在所述配置文件中配置TBDS Hadoop的认证配置;

任务提交步骤,依据上述步骤,所述Flink Client提交Flink任务。

在其中一些实施例中,所述Flink配置步骤具体包括:

配置项参数配置步骤,在所述配置文件中增加tbds安全认证所需的所述配置参数,并在Documenttation、SecurityOptions类中增加对应的配置项变量;

认证类型判断方法增加步骤,在HadoopUtils类中增加isTBDS方法和isKerberos方法,用于判断认证类型。

在其中一些实施例中,所述配置项参数配置步骤具体包括:

在所述配置文件中增加TBDS安全认证所需的三个所述配置参数,并在Documentation类中增加TBDS安全配置项常量,所述TBDS安全配置项常量对应所述配置参数,在SecurityOptions类中增加TBDS所需的TBDS安全配置项变量,并据此读取对应所述配置参数的变量值。

在其中一些实施例中,所述认证配置步骤具体包括:

认证类型判断步骤,根据所述isTBDS方法和所述isKerberos方法判断认证类型;

TBDS安全认证步骤,当判断所述当前认证类型是TBDS时,进入普通认证,将所述配置文件中的所述配置参数加入所述Flink Client获取的Hadoop配置中;

Kerberos安全认证步骤,当所述认证类型为Kerberos时,进入安全认证,通过HadoopModule认证类和YarnClusterDescriptor提交类验证Kerberos验证代码。

在其中一些实施例中,TBDS安全认证步骤具体包括以下步骤:

在HadoopUtils类中getHadoopConfiguration方法最后增加所述isTBDS方法的判断,当认证类型为TBDS时,将所述配置参数加入当前Hadoop配置中。

在其中一些实施例中,所述Kerberos安全认证步骤包括:

判断当前认证类型为Kerberos时,HadoopModule认证类的install方法中执行相关认证,验证Kerberos的部分代码;

Flink Client执行Flink任务提交的流程中,采用YarnClusterDescriptor提交类的Deployinternal方法和startAppMaster方法验证Kerberos部分代码。

第二方面,本申请实施例提供了一种基于TBDS Hadoop的Flink集成系统,应用上述第一方面所述的方法,包括:

Flink配置模块,对Flink Client的配置文件和验证部分分别进行配置参数增加和兼容修改;

软件安装模块,在一TBDS Hadoop Client上安装所述Flink Client,并在所述TBDS Hadoop Client的环境变量中配置安装认证配置;

版本jar包存储步骤,根据TBDS Hadoop的当前版本对一Flink-shaded进行编译并生成对应的版本jar包,将所述版本jar包存入Flink lib目录中;

认证配置模块,在所述配置文件中配置TBDS Hadoop的认证配置;

任务提交模块,依据上述步骤,所述Flink Client提交Flink任务。

在其中一些实施例中,所述Flink配置模块具体包括:

配置项参数配置单元,在所述配置文件中增加tbds安全认证所需的所述配置参数,并在Documenttation、SecurityOptions类中增加对应的配置项变量;

认证类型判断方法增加单元,在HadoopUtils类中增加isTBDS方法和isKerberos方法,用于判断认证类型。

在其中一些实施例中,所述配置项参数配置单元具体包括:

在所述配置文件中增加TBDS安全认证所需的三个所述配置参数,并在Documentation类中增加TBDS安全配置项常量,所述TBDS安全配置项常量对应所述配置参数,在SecurityOptions类中增加TBDS所需的TBDS安全配置项变量,并据此读取对应所述配置参数的变量值。

在其中一些实施例中,所述认证配置模块具体包括:

认证类型判断单元,根据所述isTBDS方法和所述isKerberos方法判断认证类型;

TBDS安全认证单元,当判断所述当前认证类型是TBDS时,进入普通认证,将所述配置文件中的所述配置参数加入所述Flink Client获取的Hadoop配置中;

Kerberos安全认证单元,当所述认证类型为Kerberos时,进入安全认证,通过HadoopModule认证类和YarnClusterDescriptor提交类验证Kerberos验证代码。

相比于相关技术,本申请实施例提供的一种基于TBDS Hadoop的Flink集成方法和系统,通过修改Flink Client的配置文件和验证部分,在不影响现有安全认证的前提下增加了TBDS Hadoop云环境的安全认证,解决了Flink无法在TBDS Hadoop云环境中正常运行的问题,实现了Flink在TBDS Hadoop云环境下的运行,提供正常服务,减少基于Flink构建的软件产品部署所需额外的机器资源。

本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1是根据本申请实施例的基于TBDS Hadoop的Flink集成方法的流程图;

图2是根据本申请实施例的Flink配置步骤的流程图;

图3是根据本申请实施例的认证配置步骤的流程图;

图4是根据本申请优选实施例的基于TBDS Hadoop的Flink集成方法的流程图;

图5是根据本申请实施例的基于TBDS Hadoop的Flink集成系统的结构框图。

附图说明:

Flink配置模块1;软件安装模块2;版本jar包存储步骤3;

认证配置模块4;任务提交模块5;配置项参数配置单元11;

认证类型判断方法增加单元12;认证类型判断单元41;

TBDS安全认证单元42;Kerberos安全认证单元43;

基于TBDSHadoop的Flink集成系统100。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。

在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。

除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。

本实施例提供了一种基于TBDS Hadoop的Flink集成方法。图1是根据本申请实施例的基于TBDS Hadoop的Flink集成方法的流程图,如图1所示,该流程包括如下步骤:

Flink配置步骤S1,对Flink Client的配置文件和验证部分分别进行配置参数增加和兼容修改;

软件安装步骤S2,在一TBDS Hadoop Client上安装Flink Client,并在TBDSHadoop Client的环境变量中配置安装认证配置;

版本jar包存储步骤S3,根据TBDS Hadoop的当前版本对一Flink-shaded进行编译并生成对应的版本jar包,将版本jar包存入Flinklib目录中;

认证配置步骤S4,在配置文件中配置TBDS Hadoop的认证配置;认证配置参数

任务提交步骤S5,任务提交步骤,依据上述步骤,所述Flink Client提交Flink任务。

在实际应用中,首先,在配置文件中增加配置参数,并进行兼容修改,通过上述变更修改,自行编译好Flink,并在TBDS Hadoop Client机器种安装Flink,在TBDS HadoopClient(即是TBDS的Hadoop客户端)机器中的环境变量中配置TBDS的三项安装认证配置,用于命令行与hadoop服务进行交互认证。

其次,需要编译Flink-shaded工程文件,产生依赖与当前TBDS Hadoop版本的jar包放入Flink lib目录中,用于flink与TBDS Hadoop之间的交互。

再次,在Flink-conf.yaml文件中配置好TBDS Hadoop的三项认证配置。

最后,上述流程完成后,可以正常执行Flink任务的提交,到此完成Flink与TBDSHadoop的集成。

在提交以后,FlinkAM提供REST接口来接收Flink Client的Flink任务提交,启动JM和提交Flink任务,同时运行WebUI,使得Flink任务在TBDS Hadoop上正常运行。

通过上述步骤,修改Flink Client的配置文件和验证部分,在不影响现有安全认证的前提下增加了TBDS Hadoop云环境的安全认证,解决了Flink无法在TBDS Hadoop云环境中正常运行的问题,实现了Flink在TBDS Hadoop云环境下的运行,提供正常服务,减少基于Flink构建的软件产品部署所需额外的机器资源。

图2是根据本申请实施例的Flink配置步骤的流程图,如图2所示,在其中一些实施例中,Flink配置步骤S1具体包括:

配置项参数配置步骤S11,在配置文件中增加tbds安全认证所需的配置参数,并在Documenttation、SecurityOptions类中增加对应的配置项变量;

认证类型判断方法增加步骤S12,在HadoopUtils类中增加isTBDS方法和isKerberos方法,用于判断认证类型。

在实际的应用中,TBDS安全配置项常量对应conf文件中的三项配置常量,并读取配置文件中配置参数的名称。

SecurityOptions类是增加安全认证的一个类,增加tbds的认证类型,需要在documentation类中的TBDS安全配置项常量中标注tbds类型。

HadoopUtils类是用来Flink与hadoop的交互帮助类,用来判断hadoop的认证类型。

在其中一些实施例中,配置项参数配置步骤S11具体包括:

在配置文件中增加TBDS安全认证所需的三个配置参数,并在Documentation类中增加TBDS安全配置项常量,TBDS安全配置项常量对应配置参数,在SecurityOptions类中增加TBDS所需的TBDS安全配置项变量,并据此读取对应配置参数的变量值。

需要说明的是,配置参数可以设置为认证用户名、认证用户安全期以及安全认证授权码。

图3是根据本申请实施例的认证配置步骤的流程图,如图3所示,在其中一些实施例中,认证配置步骤S4具体包括:

认证类型判断步骤S41,根据isTBDS方法和isKerberos方法判断认证类型;

TBDS安全认证步骤S42,当判断当前认证类型是TBDS时,进入普通认证,将配置文件中的配置参数加入Flink Client获取的Hadoop配置中;

Kerberos安全认证步骤S43,当认证类型为Kerberos时,进入安全认证,通过HadoopModule认证类和YarnClusterDescriptor提交类验证Kerberos验证代码。

在其中一些实施例中,TBDS安全认证步骤S42具体包括以下步骤:

在HadoopUtils类中getHadoopConfiguration方法最后增加isTBDS方法的判断,当认证类型为TBDS时,将配置参数加入当前Hadoop配置中。

在实际的应用中,当判定认证类型为TBDS后,从Flink配置中将TBDS配置参数,documentation文件中读到相应的配置参数的值加入到当前Hadoop配置中。

在其中一些实施例中,Kerberos安全认证步骤S43包括:

判断当前认证类型为Kerberos时,HadoopModule认证类的install方法中执行相关认证,验证Kerberos的部分代码;

Flink Client执行Flink任务提交的流程中,采用YarnClusterDescriptor提交类的Deployinternal方法和startAppMaster方法验证Kerberos部分代码。

需要说明的是,TBDS认证和Kerberos认证两者择一本实施例中仅提到TBDS认证和Kerberos认证两种认证方式,但是本发明并不以此为限。

HadoopModule类是Flink安全认证执行类,在该类install方法中执行相关认证,这里需要兼容修改,首先需要判断认证类型,当时Kerberos时,需要进行安全认证,加上isKerberos的判断执行Kerberos的认证,否则就是普通认证,例如,TBDS Hadoop属于普通认证时,不需要增加额外的认证代码,只需hadoop配置中增加配置参数即可完成获取授权的用户用于操作。

当认证方式是Kerberos时,由于Flink提交任务流程中绑死了Kerberos认证,所以在认证提交过程中需要修改这部分,在提交类YarnClusterDescriptor的deployInternal、startAppMaster方法中验证Kerberos验证代码。

下面通过优选实施例对本申请实施例进行描述和说明。

图4是根据本申请优选实施例的基于TBDS Hadoop的Flink集成方法的流程图。

S401,首先对Flink验证部分进行变更:

S4011,在flink-conf.yaml配置文件中增加TBDS认证所需的三个配置参数,并在org.apache.flink.annotation.docs.Documentation类中增加TBDS安全配置项常量,org.apache.flink.configuration.SecurityOptions类中增加TBDS所需的是哪个配置项变量,用于读取flink-conf.yaml文件中对应配置好的变量值。

S4012,在org.apache.flink.runtime.util.HadoopUtils类中增加isTBDS与isKerberos方法用来判断认证类型;

S40131,在org.apache.flink.runtime.util.HadoopUtils类中的getHadoopConfiguration方法最后增加isTBDS的判断,如果是TBDS认证类型就需要从flink配置中将TBDS配置项(document文件中读到对应的配置项的值并)加入当前Hadoop配置中。

S401321,org.apache.flink.runtime.security.modules.HadoopModule类是Flink安全认证执行类,在该类install方法中执行相关认证,这里需要兼容修改,当判断是Kerberos认证类型时,需要进行安全认证时,加上isKerberos的判断执行Kerbero认证,否则就是普通认证。

需要说明的是,TBDSHadoop属于普通认证时,不需要增加额外的认证代码,只需hadoop配置中增加配置项即可完成获取授权的用户用于操作。

S401322,若判定当前的认证类型是Kerberos,在提交类org.apache.flink.yarn.YarnClusterDescriptor的deployInternal、startAppMaster方法中走Kerberos验证代码。

S402,配置安装Flink Client

通过上述变更修改,自行编译好flink,并在TBDS Hadoop Client机器种安装flink,并需要在环境变量中配置TBDS三项安装认证配置(这里是TBDS Hadoop认证所需要的本地命令执行);

另需要编译flink-shaded依赖TBDS Hadoop版本的jar包放入flink lib目录中;

在flink-conf.yaml配置文件中配置好S401中TBDS Hadoop的各项用于认证的配置参数;

上述流程完成后,可以正常执行Flink任务的提交,到此完成Flink与TBDS Hadoop的集成。

本发明中并未对提交流程进行改进,此部分为现有技术,在此处不进行赘述。

需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本实施例还提供了一种基于TBDS Hadoop的Flink集成系统,该系统用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的系统较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图5是根据本申请实施例的基于TBDS Hadoop的Flink集成系统100的结构框图,如图5所示,该系统包括:

Flink配置模块1,对Flink Client的配置文件和验证部分分别进行配置参数增加和兼容修改;

软件安装模块2,在一TBDS Hadoop Client上安装Flink Client,并在TBDSHadoop Client的环境变量中配置安装认证配置;

版本jar包存储步骤3,根据TBDS Hadoop的当前版本对一Flink-shaded进行编译并生成对应的版本jar包,将版本jar包存入Flinklib目录中;

认证配置模块4,在配置文件中配置TBDS Hadoop的认证配置;

任务提交模块5,依据上述步骤,Flink Client提交Flink任务。

在其中一些实施例中,Flink配置模块1具体包括:

配置项参数配置单元11,在配置文件中增加tbds安全认证所需的配置参数,并在Documenttation、SecurityOptions类中增加对应的配置项变量;

认证类型判断方法增加单元12,在HadoopUtils类中增加isTBDS方法和isKerberos方法,用于判断认证类型。

在其中一些实施例中,配置项参数配置单元11具体包括:

在配置文件中增加TBDS安全认证所需的三个配置参数,并在Documentation类中增加TBDS安全配置项常量,TBDS安全配置项常量对应配置参数,在SecurityOptions类中增加TBDS所需的TBDS安全配置项变量,并据此读取对应配置参数的变量值。

配置参数设置为认证用户名、认证用户安全期以及安全认证授权码。

在其中一些实施例中,认证配置模块4具体包括:

认证类型判断单元41,根据isTBDS方法和isKerberos方法判断认证类型;

TBDS安全认证单元42,当判断当前认证类型是TBDS时,进入普通认证,将配置文件中的配置参数加入FlinkClient获取的Hadoop配置中;

Kerberos安全认证单元43,当认证类型为Kerberos时,进入安全认证,通过HadoopModule认证类和YarnClusterDescriptor提交类验证Kerberos验证代码。

在实际的应用中,TBDS安全认证单元42在HadoopUtils类中getHadoopConfiguration方法最后增加所述isTBDS方法的判断,当认证类型为TBDS时,将所述配置参数加入当前Hadoop配置中。

Kerberos安全认证单元43在HadoopModule认证类的install方法中执行相关认证,验证Kerberos的部分代码;

FlinkClient执行Flink任务提交的流程中,采用YarnClusterDescriptor提交类的Deployinternal方法和startAppMaster方法验证Kerberos部分代码。

需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

相关技术
  • 一种基于TBDS Hadoop的Flink集成方法和系统
  • 一种Flink自动集成方法和系统
技术分类

06120112533830