本文为您介绍如何查看作业的详情和状态,以及如何修改作业状态和配置信息。

查看作业详情

  1. 登录实时计算控制台
  2. Flink全托管页签,单击目标工作空间操作列下的开发控制台
  3. 在左侧导航栏上,选择应用 > 作业运维
  4. 单击目标作业名称。
  5. 在作业详情页面,查看以下信息。
    • 作业总览:作业参数总览。作业总览
      说明 单击指标,您可以查看更多指标,包括Flink的常用指标。
    • 数据曲线:展示Flink的常用指标。数据曲线Flink全托管VVR 2.1.3及以上版本支持的Metrics指标相关信息如下所示:
      • Source
        表 1. 指标说明
        名称 类型 单位 描述
        numBytesIn Counter Bytes 进入Source的总数据量。
        numBytesInPerSecond Meter Bytes/秒 进入Source的数据速率。
        numRecordsIn Counter 进入Source的数据条目总数。
        numRecordsInPerSecond Meter 条/秒 进入Source的数据条目速率。
        numRecordsInErrors Counter Source处理失败的数据条目总数。
        currentFetchEventTimeLag Gauge 毫秒

        计算方法:数据被Source读取的时刻(FetchTime)- 数据事件时间(EventTime)。

        该指标反映了数据在外部系统的滞留情况。

        以Kafka为例,该指标为数据被Kafka Consumer拉取的时刻(FetchTime)与数据写入Kafka的时间(EventTime)差值。

        currentEmitEventTimeLag Gauge 毫秒

        计算方法:数据离开Source的时刻(EmitTime)- 数据事件时间(EventTime)。

        该指标反映了数据在外部系统和 Source 中的滞留情况。

        以Kafka为例,该指标为数据离开Kafka Source时刻(FetchTime)与数据写入Kafka 的时间(EventTime)差值。

        watermarkLag Gauge 毫秒

        计算方法:当前时间 - 数据的水印时间(Watermark)。

        该指标反映了Watermark的延迟程度。

        sourceIdleTime Gauge 毫秒

        计算方法:当前时间 - 最后一次处理数据的时间。

        该指标反映了Source的闲置情况。

        pendingBytes Gauge Bytes 外部系统中尚未被Source拉取的数据量。
        注意 并不是所有的Source都汇报该指标,需要外部系统和Source的支持。
        pendingRecords Gauge Records 外部系统中尚未被Source拉取的数据条数。
        注意 并不是所有的Source都汇报该指标,需要外部系统和Source的支持。
        表 2. 各Connector是否支持上报Metrics信息汇总表

        “√”表示上报Metrics,“x”表示暂未支持上报Metrics。

        Connector numBytesIn numBytesInPerSecond numRecordsIn numRecordsInPerSecond numRecordsInErrors currentFetchEventTimeLag currentEmitEventTimeLag watermarkLag sourceIdleTime pendingBytes pendingRecords
        Kafka x x
        MaxCompute x x x x x x x
        增量MaxCompute x x x x x x x
        MQ x x
        SLS x x x x x x
        DataHub x x x x x x
        ElasticSearch x x x x x x x x
        Hologres x x x x x x x x x
        云数据库HBase x x x x x x x x x x x
        Tablestore x x x x x x x x x x x
        Phoenix x x x x x x x x x x x
        Redis x x x x x x x x x x x
      • Sink
        表 3. 指标说明
        名称 类型 单位 描述
        numBytesOut Counter Bytes Sink的输出总数据量。
        numBytesOutPerSecond Meter Bytes/秒 Sink的数据输出速率。
        numRecordsOut Counter Sink的输出数据条目总数。
        numRecordsOutPerSecond Meter 条/秒 Sink的输出数据条目速率。
        numRecordsOutErrors Counter Sink处理失败的数据条目总数。
        currentSendTime Gauge 毫秒 将最近一条数据输出到外部系统耗费的时间。
        表 4. 各Connector是否支持上报Metrics信息汇总表

        “√”表示上报Metrics,“x”表示暂未支持上报Metrics。

        Connector numBytesOut numBytesOutPerSecond numRecordsOut numRecordsOutPerSecond numRecordsOutErrors currentSendTime
        Kafka
        MaxCompute x x x x
        增量MaxCompute x x x x
        MQ x x x
        SLS x x x
        DataHub x
        ElasticSearch x x x x x x
        Hologres x x x
        云数据库HBase x
        Tablestore x x x
        Phoenix x x x
        Redis x x x
      • Source延迟指标分析:
        说明 如果您发现作业的延迟较高,以下指标可以帮助您分析Flink当前的处理能力,以及数据在外部系统中的滞留情况。
        • sourceIdleTime:该指标反映Source是否有闲置,如果该指标较大,说明您的数据在外部系统中的产生速率较低。
        • currentFetchEventTimeLag和currentEmitEventTimeLag:均反映了Flink当前处理的延迟,您可以通过两个指标的差值(即数据在 Source中停留的时间)分析Source当前的处理能力。
          • 如果两个延迟非常接近,说明Source从外部系统中拉取数据的能力(网络 I/O、并发数)不足。
          • 如果两个延迟差值较大,说明Source的数据处理能力(数据解析、并发、反压)不足。
        • pendingBytes/pendingRecords:如果您使用的Connector汇报了pendingBytes/pendingRecords指标,那么您可以通过这两个指标分析数据在外部系统的滞留数据量。
          注意 并不是所有的Source都汇报该指标,需要外部系统和Source的支持。
      • 常见问题的指标表现:
        注意 Source端的指标表现并不是判断问题根源的充分条件,只反映了Source当前的工作状况,您仍然需要其他辅助指标或工具来判断问题的根源。
        • 作业中某些算子存在反压

          判断反压最直接的方式是使用Flink UI提供的反压检查功能,而不是通过指标判断。反压的存在会导致Source端数据发送至下游算子的速率下降,您可能会观察到sourceIdleTime周期性上升,currentFetchEventTime和currentEmitEventTimeLag不断增长。极限情况下(某些算子卡死)sourceIdleTime会持续上升。

        • Source是性能瓶颈点

          如果仅是Source的吞吐量不足,那么您的作业中不应该检测到反压,sourceIdleTime会维持在较低的值(Source一直在工作),currentFetchEventTimeLag和currentEmitEventTimeLag接近,但是两个指标均较高。

        • 上游数据倾斜或某个分区为空

          数据倾斜或空分区会导致某一个或者几个Source并行度处于闲置状态,您会观察到这些Source的sourceIdleTime指标较大。

      更多指标信息请更参见Standardize Connector Metrics

      说明 除了在Flink全托管控制台上监控Metric的方式外,您也可以使用自建的Prometheus服务监控Flink Metric。但是您需要在网络连通的情况下,先在Flink全托管控制台目标作业开发页面右侧高级配置面板更多Flink配置中添加如下代码。
      metrics.reporter.promgatewayappmgr.class: org.apache.flink.metrics.prometheus.PrometheusPushGatewayReporter
      metrics.reporter.promgatewayappmgr.host: ${your pushgateway host}
      metrics.reporter.promgatewayappmgr.port: ${your pushgateway port}

      该代码中,${your pushgateway host}和${your pushgateway port}需要替换为您的pushgateway的host和port。

      另外,您可以通过ARMS API的方式获取Flink全托管的Metric后,将Metric集成在您自己的平台上。ARMS API详情请参见API概览。Operator相关的Metric详情,请参见Operator Metrics

    • 运行事件:作业运行中的事件。运行事件
      运行事件页面上,默认展示事件发生的时间信息操作三部分信息,其中具体操作包括以下操作:
      • 复制信息:复制信息内容。
      • 实例详情:查看作业运行事件的详细信息,包括实例信息、Artifact配置、Flink配置、日志配置和Logging Level配置等。
        说明
        • 作业总览页面右上角,单击Flink UI,可以跳转到运行作业的开源Flink UI界面。
        • 单击指标,可以跳转到运行作业的VVP(Ververica Platform)的指标界面。指标界面默认展示的是从事件发生时间起30分钟内的指标信息。
      • 搜索该实例事件:过滤出该实例的事件。

查看作业状态

  1. 登录实时计算管理控制台
  2. Flink全托管页签,单击目标工作空间操作列下的开发控制台
  3. 在左侧导航栏上,选择应用 > 作业运维
  4. 单击目标作业名称。
  5. 作业总览页签,查看作业状态信息。
    页面左上角会显示两种作业状态:
    • 期望状态
      状态 说明
      RUNNING 按作业配置,启动作业。
      CANCELLED 停止任何正在运行的作业。
      SUSPENDED 先对当前运行的作业创建Savepoint,再停止作业。
    • 当前状态
      状态 说明
      RUNNING 按作业配置定义,启动作业。
      CANCELLED 停止任何正在运行的作业。
      SUSPENDED 先对当前运行的作业创建Savepoint,再停止作业。
      FINISHED 作业运行完成。
      TRANSITIONING 作业处于向期望状态的过度阶段。
      FAILED 作业向期望状态转换失败,需要手动处理。
      ClusterUnreachable VVP无法访问JM(JobManager),获取不到Job的状态。
    说明 单击启动后,作业的期望状态会立刻变成RUNNING,当前状态会变成TRANSITIONING,并显示作业启动进度。前端开发平台VVP(Ververica Platform)会保证Flink作业最终达到期望状态。

    如果Flink作业状态正在从某个状态变成期望状态的过程中,而作业的最终期望状态发生了改变,作业会先到达最初的期望状态,再转换为最终的期望状态。

修改作业状态

  1. 登录实时计算控制台
  2. Flink全托管页签,单击目标工作空间操作列下的开发控制台
  3. 在左侧导航栏上,选择应用 > 作业运维
  4. 单击目标作业名称。
  5. 单击作业总览页签,进入作业详情页面。
  6. 根据需要单击以下按钮,修改作业状态。作业状态
    其中,每个按钮含义如下表所示。
    操作名称 说明
    暂停 暂停作业,先对当前运行的作业创建Savepoint,再停止作业。暂停作业需要具备以下两个条件:
    • Savepoint地址配置完成。如果Savepoint地址没有配置,暂停操作将直接停止作业,导致作业状态丢失。
    • Savepoint操作成功。
    停止 停止作业。
    诊断 系统会根据收集到的瞬时作业信息(例如Failover等)和常见的作业诊断规则,给您一些简单指导意见。
    Savepoint 创建一个当前时刻的Savepoint。
    说明 请先完成Savepoint地址配置,否则Savepoint会失败。
    编辑 修改作业基础配置或高级配置。
    删除 删除作业。只能删除当前状态不为RUNNING的作业。

修改作业配置

作业配置包含作业上线阶段所有的配置内容。

  1. 登录实时计算控制台
  2. Flink全托管页签,单击目标工作空间操作列下的开发控制台
  3. 在左侧导航栏上,选择应用 > 作业运维
  4. 单击目标作业名称。
  5. 修改作业配置信息。
    您可以通过以下任何一种方式修改作业配置:
    • 以模板模式编辑

      在页面右上角,单击编辑后,进入作业开发页面,单击右侧的高级配置,修改作业配置信息。

    • 以YAML模式编辑

      在页面右上角,单击编辑后,单击页面底部的YAML,修改配置信息。

  6. 单击保存