CN116627437A - Airflow服务的部署方法及装置、存储介质、计算机设备 - Google Patents

Airflow服务的部署方法及装置、存储介质、计算机设备 Download PDF

Info

Publication number
CN116627437A
CN116627437A CN202310486129.7A CN202310486129A CN116627437A CN 116627437 A CN116627437 A CN 116627437A CN 202310486129 A CN202310486129 A CN 202310486129A CN 116627437 A CN116627437 A CN 116627437A
Authority
CN
China
Prior art keywords
airflow
service
file
component
parameter configuration
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310486129.7A
Other languages
English (en)
Inventor
薛梦冉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Qianhai Huanrong Lianyi Information Technology Service Co Ltd
Original Assignee
Shenzhen Qianhai Huanrong Lianyi Information Technology Service Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Qianhai Huanrong Lianyi Information Technology Service Co Ltd filed Critical Shenzhen Qianhai Huanrong Lianyi Information Technology Service Co Ltd
Priority to CN202310486129.7A priority Critical patent/CN116627437A/zh
Publication of CN116627437A publication Critical patent/CN116627437A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种Airflow服务的部署方法及装置、存储介质、计算机设备,该方法包括:在Ambari管理工具的根目录配置文件夹中存放Airflow服务的参数配置文件以及服务描述文件;通过执行预编译的Airflow服务参数配置脚本,在所述根目录配置文件夹中读取所述参数配置文件中的组件配置参数和服务创建目录信息、以及读取所述服务描述文件中的Airflow服务组件;通过执行预编译的Airflow服务功能脚本,基于所述服务创建目录信息在Ambari管理工具的文件目录下创建Airflow服务的Airflow文件目录,并基于所述组件配置参数在所述Airflow文件目录下对所述Airflow服务组件进行安装,以实现对Airflow服务的部署。本申请避免对Airflow服务进行大量的节点配置,减少手动部署的繁琐操作,提升部署的效率和准确率。

Description

Airflow服务的部署方法及装置、存储介质、计算机设备
技术领域
本申请涉及计算机技术领域,尤其是涉及到一种Airflow服务的部署方法及装置、存储介质、计算机设备。
背景技术
Apache Airflow是用于数据工程管道的工作流管理平台,用于管理有向无环图(DAG)及其相关任务。Airflow安装后,需要进行大量的后台配置修改以保证其能够在生产环境正常执行工作流调度。在分布式的运行场景下,Airflow还存在节点间的数据同步问题。各节点数据不严格一致会导致Dag调度失败。目前安装Airflow时依赖于用户在后台进行大量的手动部署,操作繁琐且容易出错。
发明内容
有鉴于此,本申请提供了一种Airflow服务的部署方法及装置、存储介质、计算机设备,通过对Ambari管理工具进行二次开发,以实现对Airflow服务的自动部署,减少手动操作的工作量,提升Airflow服务的部署效率和准确率。
根据本申请的一个方面,提供了一种Airflow服务的部署方法,所述方法包括:
在Ambari管理工具的根目录配置文件夹中存放Airflow服务的参数配置文件以及服务描述文件;
通过执行预编译的Airflow服务参数配置脚本,在所述根目录配置文件夹中读取所述参数配置文件中的组件配置参数和服务创建目录信息、以及读取所述服务描述文件中的Airflow服务组件;
通过执行预编译的Airflow服务功能脚本,基于所述服务创建目录信息在Ambari管理工具的文件目录下创建Airflow服务的Airflow文件目录,并基于所述组件配置参数在所述Airflow文件目录下对所述Airflow服务组件进行安装,以实现对Airflow服务的部署。
可选地,所述参数配置文件还包括Airflow服务事项存放目录信息,所述Airflow服务事项存放目录信息包括Airflow服务日志存放目录信息以及Airflow服务进程存放目录信息;所述服务描述文件还包括组件依赖关系,所述Airflow服务组件包括Airflowscheduler任务调度组件、Airflow webserver可视化组件、以及Airflow worker任务执行组件,其中,Airflow scheduler组件依赖于Airflow worker组件;
所述通过执行预编译的Airflow服务参数配置脚本,在所述根目录配置文件夹中读取所述参数配置文件中的组件配置参数和服务创建目录信息、以及读取所述服务描述文件中的Airflow服务组件,包括:
通过执行预编译的Airflow服务参数配置脚本,在所述根目录配置文件夹中读取所述参数配置文件中的组件配置参数和Airflow服务事项存放目录信息、以及读取所述服务描述文件中的Airflow服务组件和组件依赖关系;
相应地,所述基于所述组件配置参数在所述Airflow文件目录下对所述Airflow服务组件进行安装,包括:
基于所述组件配置参数和所述组件依赖关系,在所述Airflow文件目录下进行所述Airflow scheduler任务调度组件、所述Airflow webserver可视化组件、以及所述Airflow worker任务执行组件的安装,并基于所述Airflow服务事项存放目录信息在所述Airflow文件目录下创建Airflow服务日志存放目录和Airflow服务进程存放目录。
可选地,所述方法还包括:
在Airflow服务的运行过程中,采集Airflow服务的运行日志保存在Airflow服务日志存放目录下,以及采集Airflow服务的进程控制符信息保存在Airflow服务进程存放目录下;
监控所述Airflow scheduler任务调度组件、所述Airflow webserver可视化组件、以及所述Airflow worker任务执行组件的运行状态,基于预设预警规则判断是否存在Airflow服务组件运行异常,并在任一Airflow服务组件运行异常时进行异常预警。
可选地,所述方法还包括:
在任一Airflow服务组件运行异常时,通过执行所述Airflow服务功能脚本,停止所述Airflow服务的运行;
当接收到所述Airflow服务的异常恢复信号时,通过执行所述Airflow服务功能脚本,重启所述Airflow服务。
可选地,所述方法还包括:
显示所述Ambari管理工具的第一可视化界面;
当接收到在所述第一可视化界面上输入的Airflow服务跳转请求时,跳转至所述Airflow webserver可视化组件的第二可视化界面;
当接收到在所述第二可视化界面上输入的参数配置文件修改请求时,在所述根目录配置文件夹中读取所述参数配置文件,并在所述第二可视化界面中对所述参数配置文件中的各项配置信息进行可视化显示;
响应于对所述参数配置文件的修改确认指令,将修改后的参数配置文件更新存储在所述根目录配置文件夹中。
可选地,所述将修改后的参数配置文件更新存储在所述根目录配置文件夹中之后,所述方法还包括:
将所述根目录配置文件夹中更新后的参数配置文件同步至所述Ambari管理工具的代码数据库中,作为所述更新后的参数配置文件对应的参数配置同步文件进行存储;
相应地,所述显示所述Ambari管理工具的第一可视化界面之后,所述方法还包括:
当接收到在所述第一可视化界面中输入的参数配置文件修改请求时,在所述Ambari管理工具的代码数据库中读取所述参数配置同步文件,并在所述第一可视化界面中对所述参数配置同步文件中的各项配置信息进行可视化显示;
响应于对所述参数配置同步文件的修改确认指令,将修改后的参数配置同步文件更新存储在所述代码数据库中,并基于所述代码数据库中的修改后的参数配置同步文件,同步更新所述根目录配置文件夹中的参数配置文件。
可选地,所述方法还包括:
在Airflow服务的运行过程中,基于接收到的Airflow服务对应的第一应用程序的第一登录信息,登录所述第一应用程序,并在所述第一登录信息属于统一登录信息时,将Airflow服务标记为统一登录态,其中,所述统一登录信息包括微软用户登录信息;
当接收到对Airflow服务对应的第二应用程序的使用请求、且Airflow服务被标记为统一登录态的情况下,验证所述第二应用程序是否属于所述统一登录态对应的关联应用程序;
若所述第二应用程序属于所述统一登录态对应的关联应用程序,则基于所述第一登录信息,登录所述第二应用程序;
若所述第二应用程序不属于所述统一登录态对应的关联应用程序,则基于接收到的第二应用程序的第二登录信息,登录所述第二应用程序。
根据本申请的另一方面,提供了一种Airflow服务的部署装置,所述装置包括:
文件存储模块,用于在Ambari管理工具的根目录配置文件夹中存放Airflow服务的参数配置文件以及服务描述文件;
文件读取模块,用于通过执行预编译的Airflow服务参数配置脚本,在所述根目录配置文件夹中读取所述参数配置文件中的组件配置参数和服务创建目录信息、以及读取所述服务描述文件中的Airflow服务组件;
服务部署模块,用于通过执行预编译的Airflow服务功能脚本,基于所述服务创建目录信息在Ambari管理工具的文件目录下创建Airflow服务的Airflow文件目录,并基于所述组件配置参数在所述Airflow文件目录下对所述Airflow服务组件进行安装,以实现对Airflow服务的部署。
可选地,所述参数配置文件还包括Airflow服务事项存放目录信息,所述Airflow服务事项存放目录信息包括Airflow服务日志存放目录信息以及Airflow服务进程存放目录信息;所述服务描述文件还包括组件依赖关系,所述Airflow服务组件包括Airflowscheduler任务调度组件、Airflow webserver可视化组件、以及Airflow worker任务执行组件,其中,Airflow scheduler组件依赖于Airflow worker组件;
所述文件读取模块,还用于:通过执行预编译的Airflow服务参数配置脚本,在所述根目录配置文件夹中读取所述参数配置文件中的组件配置参数和Airflow服务事项存放目录信息、以及读取所述服务描述文件中的Airflow服务组件和组件依赖关系;
相应地,所述服务部署模块,还用于:基于所述组件配置参数和所述组件依赖关系,在所述Airflow文件目录下进行所述Airflow scheduler任务调度组件、所述Airflowwebserver可视化组件、以及所述Airflow worker任务执行组件的安装,并基于所述Airflow服务事项存放目录信息在所述Airflow文件目录下创建Airflow服务日志存放目录和Airflow服务进程存放目录。
可选地,所述装置还包括:
数据存储模块,用于在Airflow服务的运行过程中,采集Airflow服务的运行日志保存在Airflow服务日志存放目录下,以及采集Airflow服务的进程控制符信息保存在Airflow服务进程存放目录下;
预警模块,用于监控所述Airflow scheduler任务调度组件、所述Airflowwebserver可视化组件、以及所述Airflow worker任务执行组件的运行状态,基于预设预警规则判断是否存在Airflow服务组件运行异常,并在任一Airflow服务组件运行异常时进行异常预警。
可选地,所述预警模块,还用于:
在任一Airflow服务组件运行异常时,通过执行所述Airflow服务功能脚本,停止所述Airflow服务的运行;
当接收到所述Airflow服务的异常恢复信号时,通过执行所述Airflow服务功能脚本,重启所述Airflow服务。
可选地,所述装置还包括:第一修改模块,用于:
显示所述Ambari管理工具的第一可视化界面;
当接收到在所述第一可视化界面上输入的Airflow服务跳转请求时,跳转至所述Airflow webserver可视化组件的第二可视化界面;
当接收到在所述第二可视化界面上输入的参数配置文件修改请求时,在所述根目录配置文件夹中读取所述参数配置文件,并在所述第二可视化界面中对所述参数配置文件中的各项配置信息进行可视化显示;
响应于对所述参数配置文件的修改确认指令,将修改后的参数配置文件更新存储在所述根目录配置文件夹中。
可选地,所述第一修改模块,还用于:
将所述根目录配置文件夹中更新后的参数配置文件同步至所述Ambari管理工具的代码数据库中,作为所述更新后的参数配置文件对应的参数配置同步文件进行存储;
所述装置还包括:第二修改模块,用于:
当接收到在所述第一可视化界面中输入的参数配置文件修改请求时,在所述Ambari管理工具的代码数据库中读取所述参数配置同步文件,并在所述第一可视化界面中对所述参数配置同步文件中的各项配置信息进行可视化显示;
响应于对所述参数配置同步文件的修改确认指令,将修改后的参数配置同步文件更新存储在所述代码数据库中,并基于所述代码数据库中的修改后的参数配置同步文件,同步更新所述根目录配置文件夹中的参数配置文件。
可选地,所述装置还包括:登录模块,用于:
在Airflow服务的运行过程中,基于接收到的Airflow服务对应的第一应用程序的第一登录信息,登录所述第一应用程序,并在所述第一登录信息属于统一登录信息时,将Airflow服务标记为统一登录态,其中,所述统一登录信息包括微软用户登录信息;
当接收到对Airflow服务对应的第二应用程序的使用请求、且Airflow服务被标记为统一登录态的情况下,验证所述第二应用程序是否属于所述统一登录态对应的关联应用程序;
若所述第二应用程序属于所述统一登录态对应的关联应用程序,则基于所述第一登录信息,登录所述第二应用程序;
若所述第二应用程序不属于所述统一登录态对应的关联应用程序,则基于接收到的第二应用程序的第二登录信息,登录所述第二应用程序。
依据本申请又一个方面,提供了一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述Airflow服务的部署方法。
依据本申请再一个方面,提供了一种计算机设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述Airflow服务的部署方法。
借由上述技术方案,本申请提供的一种Airflow服务的部署方法及装置、存储介质、计算机设备,通过定义Airflow服务的参数配置文件和服务描述文件并存储在Ambari管理工具的根目录配置文件夹中,以及预编译Airflow服务参数配置脚本和Airflow服务功能脚本,从而通过执行脚本读取根目录配置文件夹中的各项参数配置信息和服务描述信息,以及利用读取出的各信息进行Airflow文件目录的创建和Airflow服务的部署。本申请实施例利用Ambari管理工具通过预配置的方式实现对Airflow服务的自动化部署,通过运行脚本读取预配置的信息并进行部署,避免对Airflow服务进行大量的节点配置,减少手动部署的繁琐操作,提升部署的效率和准确率。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示出了本申请实施例提供的一种Airflow服务的部署方法的流程示意图;
图2示出了本申请实施例提供的另一种Airflow服务的部署方法的流程示意图;
图3示出了本申请实施例提供的另一种Airflow服务的部署方法的流程示意图;
图4示出了本申请实施例提供的一种Airflow服务的部署装置的结构示意图;
图5示出了本申请实施例提供的一种计算机设备的装置结构示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
在本实施例中提供了一种Airflow服务的部署方法,如图1所示,该方法包括:
步骤101,在Ambari管理工具的根目录配置文件夹中存放Airflow服务的参数配置文件以及服务描述文件。
本申请实施例利用Ambari管理工具实现对Airflow服务的自动部署。首先,定义Airflow服务的服务描述文件以及Airflow服务的参数配置文件,将服务描述文件和参数配置文件写入Ambari管理工具的根目录配置文件夹中进行存储。
其中,所述参数配置文件包括Airflow服务中各Airflow服务组件的组件配置参数和Airflow服务事项存放目录信息,所述Airflow服务事项存放目录信息包括Airflow服务日志存放目录信息以及Airflow服务进程存放目录信息;所述服务描述文件包括服务名称、版本号、各Airflow服务组件的组件名称以及组件依赖关系,Airflow服务组件包括Airflowscheduler任务调度组件、Airflow webserver可视化组件、以及Airflow worker任务执行组件,其中,Airflow scheduler组件依赖于Airflow worker组件。
步骤102,通过执行预编译的Airflow服务参数配置脚本,在所述根目录配置文件夹中读取所述参数配置文件中的组件配置参数和服务创建目录信息、以及读取所述服务描述文件中的Airflow服务组件。
本申请实施例中,预编译python脚本,具体包括Airflow服务参数配置脚本和Airflow服务功能脚本两类,Airflow服务参数配置脚本通常命名为params.py脚本,主要用来获取参数配置。另一类脚本是服务的核心脚本即Airflow服务功能脚本,主要用来执行服务的安装,启停,配置修改,状态监控等。
可选地,步骤102包括:通过执行预编译的Airflow服务参数配置脚本,在所述根目录配置文件夹中读取所述参数配置文件中的组件配置参数和Airflow服务事项存放目录信息、以及读取所述服务描述文件中的Airflow服务组件和组件依赖关系。
在该实施例中,通过执行Airflow服务参数配置脚本,在Ambari管理工具的根目录配置文件夹中读取参数配置文件和服务描述文件中的全部内容,以便进行后续的服务部署,具体读取出参数配置文件中的组件配置参数和Airflow服务事项存放目录信息、以及读取服务描述文件中的服务名称、版本号、各Airflow服务组件的组件名称以及组件依赖关系。
步骤103,通过执行预编译的Airflow服务功能脚本,基于所述服务创建目录信息在Ambari管理工具的文件目录下创建Airflow服务的Airflow文件目录,并基于所述组件配置参数在所述Airflow文件目录下对所述Airflow服务组件进行安装,以实现对Airflow服务的部署。
可选地,步骤103包括:基于所述组件配置参数和所述组件依赖关系,在所述Airflow文件目录下进行所述Airflow scheduler任务调度组件、所述Airflow webserver可视化组件、以及所述Airflow worker任务执行组件的安装,并基于所述Airflow服务事项存放目录信息在所述Airflow文件目录下创建Airflow服务日志存放目录和Airflow服务进程存放目录。
本申请实施例中,读取出各项参数配置信息以及服务描述信息后,通过执行Airflow服务功能脚本,在Ambari管理工具的文件目录下创建Airflow服务的Airflow文件目录。进一步基于组件配置参数和组件依赖关系,在Airflow文件目录下安装Airflowscheduler任务调度组件、Airflow webserver可视化组件以及Airflow worker任务执行组件,并设置各组件之间的依赖关系。另外,还需要在Airflow文件目录下创建Airflow服务日志存放目录和Airflow服务进程存放目录,以便进行日志、进程信息的存储。
通过应用本实施例的技术方案,通过定义Airflow服务的参数配置文件和服务描述文件并存储在Ambari管理工具的根目录配置文件夹中,以及预编译Airflow服务参数配置脚本和Airflow服务功能脚本,从而通过执行脚本读取根目录配置文件夹中的各项参数配置信息和服务描述信息,以及利用读取出的各信息进行Airflow文件目录的创建和Airflow服务的部署。本申请实施例利用Ambari管理工具通过预配置的方式实现对Airflow服务的自动化部署,通过运行脚本读取预配置的信息并进行部署,避免对Airflow服务进行大量的节点配置,减少手动部署的繁琐操作,提升部署的效率和准确率。
进一步的,作为上述实施例具体实施方式的细化和扩展,为了完整说明本实施例的具体实施过程,提供了另一种Airflow服务的部署方法,如图2所示,该方法包括:
步骤201,在Airflow服务的运行过程中,采集Airflow服务的运行日志保存在Airflow服务日志存放目录下,以及采集Airflow服务的进程控制符信息保存在Airflow服务进程存放目录下。
本申请实施例中,按照上述步骤101至步骤103的方法完成对Airflow服务的部署后。可以开始运行部署好的Airflow服务,在Airflow服务的运行过程中,不断采集Airflow服务的运行日志并保存在预先创建的Airflow服务日志存放目录Log下,以及采集Airflow服务的进程控制符信息并保存在预先创建的Airflow服务进程存放目录Code下。另外,还可以将Airflow服务日志存放目录下运行日志,向Ambari管理工具的日志数据库S3中进行备份存储。
步骤202,监控所述Airflow scheduler任务调度组件、所述Airflow webserver可视化组件、以及所述Airflow worker任务执行组件的运行状态,基于预设预警规则判断是否存在Airflow服务组件运行异常。
在该实施例中,还可以对Ambari管理工具进行监控***的二次开发,如图3所示,通过执行预编译的Airflow服务功能脚本命令监控***对Airflow服务的各组件的运行状态进行监控,并在监控***中配置预设预警规则,从而监控***可以按照预设预警规则对Airflow scheduler任务调度组件、Airflow webserver可视化组件、以及Airflow worker任务执行组件是否存在运行异常的问题进行识别。另外,如图3所示,Scheduler:即Airflowscheduler任务调度组件,用于进行任务调度,不停轮询编译dag文件,发送可执行的任务到消息队列中,将dag信息和调度信息写入mysql查询语句中,不停更新dag状态。WebServer即Airflow webserver可视化组件,提供web ui界面的dag操作,dag任务的启停,task的运行管理等,查看task的运行情况。worker即Airflow worker任务执行组件,具体执行任务的节点,从celery消费获取到task执行命令,执行对于的脚本语句。将task执行情况写入mysql中。rabbitmq/redis:消息队列,接收从scheduler端发送过来的task执行命令,等待worker端的celery去消费task。
步骤203,在任一Airflow服务组件运行异常时,进行异常预警,通过执行所述Airflow服务功能脚本,停止所述Airflow服务的运行;当接收到所述Airflow服务的异常恢复信号时,通过执行所述Airflow服务功能脚本,重启所述Airflow服务。
在该实施例中,在监控***监测到任意的Airflow服务组件运行异常时,可以进行异常预警,例如进行预警显示、发送短信、发送邮件、自动外呼等。进一步为保证服务安全性、可靠性,还可以在组件运行异常时暂停服务的运行,具体地,预编译的Airflow服务功能脚本可以包括服务安装、服务启停、状态监控、配置修改等多种功能的执行代码,可以通过执行Airflow服务功能脚本停止Airflow服务的运行,并在异常解除时基于异常恢复信号重启服务。
步骤204,基于接收到的Airflow服务对应的第一应用程序的第一登录信息,登录所述第一应用程序,并在所述第一登录信息属于统一登录信息时,将Airflow服务标记为统一登录态,其中,所述统一登录信息包括微软用户登录信息。
在该实施例中,还可以基于Ambari管理工具对Airflow服务的登录方式进行二次开发,Airflow服务原有的登录方式为基于每个应用程序的账号、密码进行应用程序登录。本申请实施例可以基于Ambari管理工具开发Airflow服务的单点登录方式SSD,即一个账号、密码登录多个应用程序。具体地,在Airflow服务的运行过程中,当用户使用某个第一应用程序并输入第一登录信息进行登录时,可以对第一登录信息进行判断,以验证该第一登录信息是否属于统一登录信息,如果是则将Airflow服务标记为统一登录态,这里的统一登录信息可以是微软用户登录信息,也可以是其他类型的通用账号密码的应用程序的登录信息。
步骤205,当接收到对Airflow服务对应的第二应用程序的使用请求、且Airflow服务被标记为统一登录态的情况下,验证所述第二应用程序是否属于所述统一登录态对应的关联应用程序。
在该实施例中,在用户继续使用Airflow服务的过程中,如果用户请求使用了某个第二应用程序,那么可以先验证第二应用程序是否属于统一登录态的关联应用程序,其中,统一登录态对应多个关联应用程序。例如第二应用程序与第一应用程序都属于微软应用程序,在第一应用程序已登录过、Airflow服务被标记为统一登录态的情况下,可以确认第二应用程序为统一登录态对应的关联应用程序。
步骤206,若所述第二应用程序属于所述统一登录态对应的关联应用程序,则基于所述第一登录信息,登录所述第二应用程序。
步骤207,若所述第二应用程序不属于所述统一登录态对应的关联应用程序,则基于接收到的第二应用程序的第二登录信息,登录所述第二应用程序。
在该实施例中,如果验证第二应用程序属于统一登录态的关联应用程序后,可以直接利用第一登录信息登录第二应用程序,而如果第二应用程序不属于上述的关联应用程序,那么可以基于用户输入的针对该第二应用程序的第二登录信息进行程序登录。
本申请实施例中,还可以对Airflow服务的配置信息进行更改,可选地,包括:
步骤301,显示所述Ambari管理工具的第一可视化界面。
步骤302,当接收到在所述第一可视化界面上输入的Airflow服务跳转请求时,跳转至所述Airflow webserver可视化组件的第二可视化界面。
步骤303,当接收到在所述第二可视化界面上输入的参数配置文件修改请求时,在所述根目录配置文件夹中读取所述参数配置文件,并在所述第二可视化界面中对所述参数配置文件中的各项配置信息进行可视化显示。
步骤304,响应于对所述参数配置文件的修改确认指令,将修改后的参数配置文件更新存储在所述根目录配置文件夹中。
在该实施例中,用户可以通过Ambari管理工具的第一可视化界面快速跳转至Airflow服务对应的可视化组件的第二可视化界面中,以对Airflow服务进行操作。第二可视化界面中可以提供参数配置修改选项,当用户可以通过触发该选项请求对参数配置文件进行修改时,从Ambari管理工具的根目录配置文件夹中读取出参数配置文件,并在第二可视化界面中对文件中的各项配置信息进行可视化显示,用户在界面中进行配置信息修改(Code Editor)并保存后,将用户确认保存的修改后的配置信息生成修改后的参数配置文件,并利用修改后的参数配置文件替换根目录配置文件夹中原来的参数配置文件,以对该文件进行更新存储。
进一步,更新存储后,Ambari管理工具通过执行预编译的Airflow服务参数配置脚本以及Airflow服务参数配置脚本,读取新的参数配置文件并重新进行Airflow服务的部署,部署后重启Airflow服务以使服务正常运行。
步骤305,将所述根目录配置文件夹中更新后的参数配置文件同步至所述Ambari管理工具的代码数据库中,作为所述更新后的参数配置文件对应的参数配置同步文件进行存储。
步骤306,当接收到在所述第一可视化界面中输入的参数配置文件修改请求时,在所述Ambari管理工具的代码数据库中读取所述参数配置同步文件,并在所述第一可视化界面中对所述参数配置同步文件中的各项配置信息进行可视化显示。
步骤307,响应于对所述参数配置同步文件的修改确认指令,将修改后的参数配置同步文件更新存储在所述代码数据库中,并基于所述代码数据库中的修改后的参数配置同步文件,同步更新所述根目录配置文件夹中的参数配置文件。
另外,对根目录配置文件夹中的参数配置文件进行修改后,还可以将该文件同步至代码数据库Git中,存储为参数配置同步文件。用户还可以通过直接修改代码数据库中该文件的方式,实现对Airflow服务的配置参数修改。具体地,用户可以直接在Ambari管理工具的第一可视化界面中输入参数配置文件修改请求,Ambari管理工具从代码数据库中读取出Airflow服务的参数配置同步文件,该文件中记载的内容与根目录配置文件夹中参数配置文件内记载的内容相同,读取到参数配置同步文件后对文件中的各项配置信息进行可视化显示,用户进行信息修改并确认保存后,利用修改后的参数配置同步文件对代码数据库中的原有参数配置同步文件进行替换,同时将新的修改后的参数配置同步文件同步到Ambari管理工具的根目录配置文件夹中,替换原来的参数配置文件,使代码数据库和根目录配置文件夹中的参数配置保持同步。
同样的,更新存储后,Ambari管理工具通过执行预编译的Airflow服务参数配置脚本以及Airflow服务参数配置脚本,读取新的参数配置文件并重新进行Airflow服务的部署,部署后重启Airflow服务以使服务正常运行。
进一步的,作为图1方法的具体实现,本申请实施例提供了一种Airflow服务的部署装置,如图4所示,该装置包括:
文件存储模块,用于在Ambari管理工具的根目录配置文件夹中存放Airflow服务的参数配置文件以及服务描述文件;
文件读取模块,用于通过执行预编译的Airflow服务参数配置脚本,在所述根目录配置文件夹中读取所述参数配置文件中的组件配置参数和服务创建目录信息、以及读取所述服务描述文件中的Airflow服务组件;
服务部署模块,用于通过执行预编译的Airflow服务功能脚本,基于所述服务创建目录信息在Ambari管理工具的文件目录下创建Airflow服务的Airflow文件目录,并基于所述组件配置参数在所述Airflow文件目录下对所述Airflow服务组件进行安装,以实现对Airflow服务的部署。
可选地,所述参数配置文件还包括Airflow服务事项存放目录信息,所述Airflow服务事项存放目录信息包括Airflow服务日志存放目录信息以及Airflow服务进程存放目录信息;所述服务描述文件还包括组件依赖关系,所述Airflow服务组件包括Airflowscheduler任务调度组件、Airflow webserver可视化组件、以及Airflow worker任务执行组件,其中,Airflow scheduler组件依赖于Airflow worker组件;
所述文件读取模块,还用于:通过执行预编译的Airflow服务参数配置脚本,在所述根目录配置文件夹中读取所述参数配置文件中的组件配置参数和Airflow服务事项存放目录信息、以及读取所述服务描述文件中的Airflow服务组件和组件依赖关系;
相应地,所述服务部署模块,还用于:基于所述组件配置参数和所述组件依赖关系,在所述Airflow文件目录下进行所述Airflow scheduler任务调度组件、所述Airflowwebserver可视化组件、以及所述Airflow worker任务执行组件的安装,并基于所述Airflow服务事项存放目录信息在所述Airflow文件目录下创建Airflow服务日志存放目录和Airflow服务进程存放目录。
可选地,所述装置还包括:
数据存储模块,用于在Airflow服务的运行过程中,采集Airflow服务的运行日志保存在Airflow服务日志存放目录下,以及采集Airflow服务的进程控制符信息保存在Airflow服务进程存放目录下;
预警模块,用于监控所述Airflow scheduler任务调度组件、所述Airflowwebserver可视化组件、以及所述Airflow worker任务执行组件的运行状态,基于预设预警规则判断是否存在Airflow服务组件运行异常,并在任一Airflow服务组件运行异常时进行异常预警。
可选地,所述预警模块,还用于:
在任一Airflow服务组件运行异常时,通过执行所述Airflow服务功能脚本,停止所述Airflow服务的运行;
当接收到所述Airflow服务的异常恢复信号时,通过执行所述Airflow服务功能脚本,重启所述Airflow服务。
可选地,所述装置还包括:第一修改模块,用于:
显示所述Ambari管理工具的第一可视化界面;
当接收到在所述第一可视化界面上输入的Airflow服务跳转请求时,跳转至所述Airflow webserver可视化组件的第二可视化界面;
当接收到在所述第二可视化界面上输入的参数配置文件修改请求时,在所述根目录配置文件夹中读取所述参数配置文件,并在所述第二可视化界面中对所述参数配置文件中的各项配置信息进行可视化显示;
响应于对所述参数配置文件的修改确认指令,将修改后的参数配置文件更新存储在所述根目录配置文件夹中。
可选地,所述第一修改模块,还用于:
将所述根目录配置文件夹中更新后的参数配置文件同步至所述Ambari管理工具的代码数据库中,作为所述更新后的参数配置文件对应的参数配置同步文件进行存储;
所述装置还包括:第二修改模块,用于:
当接收到在所述第一可视化界面中输入的参数配置文件修改请求时,在所述Ambari管理工具的代码数据库中读取所述参数配置同步文件,并在所述第一可视化界面中对所述参数配置同步文件中的各项配置信息进行可视化显示;
响应于对所述参数配置同步文件的修改确认指令,将修改后的参数配置同步文件更新存储在所述代码数据库中,并基于所述代码数据库中的修改后的参数配置同步文件,同步更新所述根目录配置文件夹中的参数配置文件。
可选地,所述装置还包括:登录模块,用于:
在Airflow服务的运行过程中,基于接收到的Airflow服务对应的第一应用程序的第一登录信息,登录所述第一应用程序,并在所述第一登录信息属于统一登录信息时,将Airflow服务标记为统一登录态,其中,所述统一登录信息包括微软用户登录信息;
当接收到对Airflow服务对应的第二应用程序的使用请求、且Airflow服务被标记为统一登录态的情况下,验证所述第二应用程序是否属于所述统一登录态对应的关联应用程序;
若所述第二应用程序属于所述统一登录态对应的关联应用程序,则基于所述第一登录信息,登录所述第二应用程序;
若所述第二应用程序不属于所述统一登录态对应的关联应用程序,则基于接收到的第二应用程序的第二登录信息,登录所述第二应用程序。
需要说明的是,本申请实施例提供的一种Airflow服务的部署装置所涉及各功能单元的其他相应描述,可以参考图1至图2方法中的对应描述,在此不再赘述。
本申请实施例还提供了一种计算机设备,具体可以为个人计算机、服务器、网络设备等,如图5所示,该计算机设备包括总线、处理器、存储器和通信接口,还可以包括输入输出接口和显示设备。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储位置信息。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现各方法实施例中的步骤。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机可读存储介质,所述计算机可读存储介质可以是非易失性,也可以是易失性,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (10)

1.一种Airflow服务的部署方法,其特征在于,所述方法包括:
在Ambari管理工具的根目录配置文件夹中存放Airflow服务的参数配置文件以及服务描述文件;
通过执行预编译的Airflow服务参数配置脚本,在所述根目录配置文件夹中读取所述参数配置文件中的组件配置参数和服务创建目录信息、以及读取所述服务描述文件中的Airflow服务组件;
通过执行预编译的Airflow服务功能脚本,基于所述服务创建目录信息在Ambari管理工具的文件目录下创建Airflow服务的Airflow文件目录,并基于所述组件配置参数在所述Airflow文件目录下对所述Airflow服务组件进行安装,以实现对Airflow服务的部署。
2.根据权利要求1所述的方法,其特征在于,所述参数配置文件还包括Airflow服务事项存放目录信息,所述Airflow服务事项存放目录信息包括Airflow服务日志存放目录信息以及Airflow服务进程存放目录信息;所述服务描述文件还包括组件依赖关系,所述Airflow服务组件包括Airflow scheduler任务调度组件、Airflow webserver可视化组件、以及Airflow worker任务执行组件,其中,Airflow scheduler组件依赖于Airflow worker组件;
所述通过执行预编译的Airflow服务参数配置脚本,在所述根目录配置文件夹中读取所述参数配置文件中的组件配置参数和服务创建目录信息、以及读取所述服务描述文件中的Airflow服务组件,包括:
通过执行预编译的Airflow服务参数配置脚本,在所述根目录配置文件夹中读取所述参数配置文件中的组件配置参数和Airflow服务事项存放目录信息、以及读取所述服务描述文件中的Airflow服务组件和组件依赖关系;
相应地,所述基于所述组件配置参数在所述Airflow文件目录下对所述Airflow服务组件进行安装,包括:
基于所述组件配置参数和所述组件依赖关系,在所述Airflow文件目录下进行所述Airflow scheduler任务调度组件、所述Airflow webserver可视化组件、以及所述Airflowworker任务执行组件的安装,并基于所述Airflow服务事项存放目录信息在所述Airflow文件目录下创建Airflow服务日志存放目录和Airflow服务进程存放目录。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在Airflow服务的运行过程中,采集Airflow服务的运行日志保存在Airflow服务日志存放目录下,以及采集Airflow服务的进程控制符信息保存在Airflow服务进程存放目录下;
监控所述Airflow scheduler任务调度组件、所述Airflow webserver可视化组件、以及所述Airflow worker任务执行组件的运行状态,基于预设预警规则判断是否存在Airflow服务组件运行异常,并在任一Airflow服务组件运行异常时进行异常预警。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在任一Airflow服务组件运行异常时,通过执行所述Airflow服务功能脚本,停止所述Airflow服务的运行;
当接收到所述Airflow服务的异常恢复信号时,通过执行所述Airflow服务功能脚本,重启所述Airflow服务。
5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
显示所述Ambari管理工具的第一可视化界面;
当接收到在所述第一可视化界面上输入的Airflow服务跳转请求时,跳转至所述Airflow webserver可视化组件的第二可视化界面;
当接收到在所述第二可视化界面上输入的参数配置文件修改请求时,在所述根目录配置文件夹中读取所述参数配置文件,并在所述第二可视化界面中对所述参数配置文件中的各项配置信息进行可视化显示;
响应于对所述参数配置文件的修改确认指令,将修改后的参数配置文件更新存储在所述根目录配置文件夹中。
6.根据权利要求5所述的方法,其特征在于,所述将修改后的参数配置文件更新存储在所述根目录配置文件夹中之后,所述方法还包括:
将所述根目录配置文件夹中更新后的参数配置文件同步至所述Ambari管理工具的代码数据库中,作为所述更新后的参数配置文件对应的参数配置同步文件进行存储;
相应地,所述显示所述Ambari管理工具的第一可视化界面之后,所述方法还包括:
当接收到在所述第一可视化界面中输入的参数配置文件修改请求时,在所述Ambari管理工具的代码数据库中读取所述参数配置同步文件,并在所述第一可视化界面中对所述参数配置同步文件中的各项配置信息进行可视化显示;
响应于对所述参数配置同步文件的修改确认指令,将修改后的参数配置同步文件更新存储在所述代码数据库中,并基于所述代码数据库中的修改后的参数配置同步文件,同步更新所述根目录配置文件夹中的参数配置文件。
7.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在Airflow服务的运行过程中,基于接收到的Airflow服务对应的第一应用程序的第一登录信息,登录所述第一应用程序,并在所述第一登录信息属于统一登录信息时,将Airflow服务标记为统一登录态,其中,所述统一登录信息包括微软用户登录信息;
当接收到对Airflow服务对应的第二应用程序的使用请求、且Airflow服务被标记为统一登录态的情况下,验证所述第二应用程序是否属于所述统一登录态对应的关联应用程序;
若所述第二应用程序属于所述统一登录态对应的关联应用程序,则基于所述第一登录信息,登录所述第二应用程序;
若所述第二应用程序不属于所述统一登录态对应的关联应用程序,则基于接收到的第二应用程序的第二登录信息,登录所述第二应用程序。
8.一种Airflow服务的部署装置,其特征在于,所述装置包括:
文件存储模块,用于在Ambari管理工具的根目录配置文件夹中存放Airflow服务的参数配置文件以及服务描述文件;
文件读取模块,用于通过执行预编译的Airflow服务参数配置脚本,在所述根目录配置文件夹中读取所述参数配置文件中的组件配置参数和服务创建目录信息、以及读取所述服务描述文件中的Airflow服务组件;
服务部署模块,用于通过执行预编译的Airflow服务功能脚本,基于所述服务创建目录信息在Ambari管理工具的文件目录下创建Airflow服务的Airflow文件目录,并基于所述组件配置参数在所述Airflow文件目录下对所述Airflow服务组件进行安装,以实现对Airflow服务的部署。
9.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法。
10.一种计算机设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法。
CN202310486129.7A 2023-04-28 2023-04-28 Airflow服务的部署方法及装置、存储介质、计算机设备 Pending CN116627437A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310486129.7A CN116627437A (zh) 2023-04-28 2023-04-28 Airflow服务的部署方法及装置、存储介质、计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310486129.7A CN116627437A (zh) 2023-04-28 2023-04-28 Airflow服务的部署方法及装置、存储介质、计算机设备

Publications (1)

Publication Number Publication Date
CN116627437A true CN116627437A (zh) 2023-08-22

Family

ID=87609122

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310486129.7A Pending CN116627437A (zh) 2023-04-28 2023-04-28 Airflow服务的部署方法及装置、存储介质、计算机设备

Country Status (1)

Country Link
CN (1) CN116627437A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117667718A (zh) * 2023-12-07 2024-03-08 中电云计算技术有限公司 一种基于任务调度的自动化测试方法和***

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117667718A (zh) * 2023-12-07 2024-03-08 中电云计算技术有限公司 一种基于任务调度的自动化测试方法和***

Similar Documents

Publication Publication Date Title
CN108108297B (zh) 自动化测试的方法和装置
CN109032824B (zh) 数据库校验方法、装置、计算机设备和存储介质
US9386079B2 (en) Method and system of virtual desktop infrastructure deployment studio
CA3159788A1 (en) Version releasing method and device based on multi-environment offline task
US8918783B2 (en) Managing virtual computers simultaneously with static and dynamic dependencies
CN113569987A (zh) 模型训练方法和装置
CN108776643B (zh) 一种基于版本控制流程的目标代码合并控制方法及***
CN111258591B (zh) 程序部署任务执行方法、装置、计算机设备和存储介质
CN113434180B (zh) 应用的数据处理方法、装置、服务器和存储介质
US20150100831A1 (en) Method and system for selecting and executing test scripts
CN108958788A (zh) 自动同步刷新浏览器的方法、装置及计算机设备
CN110795356B (zh) 基于Ansible实现软件一键式部署与自动化测试的***及其方法
CN113434158A (zh) 一种大数据组件的自定义管理方法、装置、设备及介质
CN110727575A (zh) 一种信息处理方法、***、装置、以及存储介质
CN116627437A (zh) Airflow服务的部署方法及装置、存储介质、计算机设备
CN110784347A (zh) 一种容器集群的节点管理方法、***、设备及存储介质
US20150006736A1 (en) Method and System for Deploying and Modifying a Service-Oriented Architecture Deployment Environment
CN114968272A (zh) 一种算法运行方法、装置、设备、存储介质
CN111831567A (zh) 应用的测试环境配置方法、装置、***和介质
CN113259397B (zh) 一种执行预案的方法、装置、设备及可读存储介质
KR102194974B1 (ko) 프로세스 검증 기능이 구비된 전력 계통 감시 및 제어 시스템
CN112564979B (zh) 构建任务的执行方法、装置、计算机设备和存储介质
CN114816470A (zh) 元数据库的管理方法、装置、电子设备和介质
CN114879977A (zh) 应用部署方法、装置及存储介质
CN114756293A (zh) 业务处理方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination