历史服务器

Flink有一个历史记录服务器,可用于在关闭相应的Flink群集后查询已完成作业的统计信息。

此外,它公开了一个REST API,它接受HTTP请求并使用JSON数据进行响应。

概览

HistoryServer允许您查询已由JobManager归档的已完成作业的状态和统计信息。

配置HistoryServer JobManager后,可以通过相应的启动脚本启动和停止HistoryServer:

  1. # Start or stop the HistoryServer
  2. bin/historyserver.sh (start|start-foreground|stop)

默认情况下,此服务器绑定localhost并侦听端口8082

目前,您只能将其作为独立进程运行。

配置

配置键jobmanager.archive.fs.dirhistoryserver.archive.fs.refresh-interval需要进行调整以存档和显示存档的作业。

JobManager

已完成作业的归档发生在JobManager上,JobManager将归档的作业信息上载到文件系统目录。您可以flink-conf.yaml通过设置目录来配置目录以存档已完成的作业jobmanager.archive.fs.dir

  1. # Directory to upload completed job information
  2. jobmanager.archive.fs.dir: hdfs:///completed-jobs

HistoryServer

可以将HistoryServer配置为监视via中以逗号分隔的目录列表historyserver.archive.fs.dir为新存档定期轮询已配置的目录; 轮询间隔可以通过配置historyserver.archive.fs.refresh-interval

  1. # Monitor the following directories for completed jobs
  2. historyserver.archive.fs.dir: hdfs:///completed-jobs
  3. # Refresh every 10 seconds
  4. historyserver.archive.fs.refresh-interval: 10000

包含的存档将下载并缓存在本地文件系统中。通过此配置本地目录historyserver.web.tmpdir

查看配置页面以获取完整的配置选项列表

可用请求

以下是可用请求列表,其中包含示例JSON响应。所有请求都是样本表单http://hostname:8082/jobs,下面我们仅列出URL 路径部分。

尖括号中的值是变量,例如http://hostname:port/jobs/<jobid>/exceptions必须请求例如http://hostname:port/jobs/7684be6004e4e955c2a558a9bc463f65/exceptions

  • /config
  • /jobs/overview
  • /jobs/<jobid>
  • /jobs/<jobid>/vertices
  • /jobs/<jobid>/config
  • /jobs/<jobid>/exceptions
  • /jobs/<jobid>/accumulators
  • /jobs/<jobid>/vertices/<vertexid>
  • /jobs/<jobid>/vertices/<vertexid>/subtasktimes
  • /jobs/<jobid>/vertices/<vertexid>/taskmanagers
  • /jobs/<jobid>/vertices/<vertexid>/accumulators
  • /jobs/<jobid>/vertices/<vertexid>/subtasks/accumulators
  • /jobs/<jobid>/vertices/<vertexid>/subtasks/<subtasknum>
  • /jobs/<jobid>/vertices/<vertexid>/subtasks/<subtasknum>/attempts/<attempt>
  • /jobs/<jobid>/vertices/<vertexid>/subtasks/<subtasknum>/attempts/<attempt>/accumulators
  • /jobs/<jobid>/plan