Azkaban调度Spark

Azkaban是一个批量工作流任务调度器,可以构建、执行和管理包含复杂依赖关系的工作流。您可以借助Spark-Submit命令行工具,在Azkaban Web界面调度云原生数据仓库 AnalyticDB MySQL 版的Spark作业。

前提条件

  • AnalyticDB for MySQL集群的产品系列为企业版、基础版或湖仓版

  • 已在AnalyticDB for MySQL集群中创建Job型资源组。具体操作,请参见新建资源组

  • 已安装Azkaban。具体操作,请参见Azkaban官方文档

  • 已将运行Azkaban的服务器IP地址添加至AnalyticDB for MySQL集群的白名单中。具体操作,请参见设置白名单

操作步骤

  1. 安装Spark-Submit命令行工具并配置相关参数。安装操作与参数说明,请参见安装Spark-Submit参数配置

    说明

    您只需要配置keyIdsecretIdregionIdclusterIdrgName这些必填参数。如果您的Spark JAR包在本地,还需要配置ossUploadPath等OSS相关参数。

  2. 编写工作流文件,并将其所在的文件夹压缩成ZIP格式。具体操作,请参见创建工作流

    nodes:
      - name: SparkPi
        type: command
        config:
          command: /<your path>/adb-spark-toolkit-submit/bin/spark-submit 
                    --class org.apache.spark.examples.SparkPi 
                    --name SparkPi 
                    --conf spark.driver.resourceSpec=medium 
                    --conf spark.executor.instances=2 
                    --conf spark.executor.resourceSpec=medium 
                    local:///tmp/spark-examples.jar 1000
        dependsOn:
          - jobA
          - jobB
    
      - name: jobA
        type: command
        config:
          command: echo "This is an echoed text."
    
      - name: jobB
        type: command
        config:
          command: pwd
    说明
    • <your path>需替换为Spark-Submit命令行工具的实际安装路径。

    • command节点的命令输入请不要使用续行符(\)。

  3. 创建项目并上传步骤2压缩的工作流文件。

    1. 访问Azkaban Web界面,在顶部导航栏单击Projects

    2. 单击页面右上角的Create Project

    3. 在弹出的Create Project对话框中配置NameDescription参数。

    4. 单击页面右上角的Upload

    5. 在弹出的Upload Project Flies对话框中上传工作流文件,单击Upload

  4. 运行工作流。

    1. Projects页面,单击Flows页签。

    2. 单击Execute Flow

    3. 单击Execute

    4. 在弹出的Flow submitted对话框中,单击Continue

  5. 查看工作流详细信息。

    1. 在顶部导航栏单击Executing

    2. 单击Recently Finished页签。

    3. 单击Execution Id,并单击Job List页签查看每一个Job的执行详情。

    4. 单击Logs查看Job的日志信息。