【Flink源码实战(一)】给Flink增加一个REST API

本文参考了flink committer tison的文章,基于flink 1.13版本源码改动实现。

一、概述

https://ci.apache.org/projects/flink/flink-docs-master/docs/ops/rest_api/

Flink官方实现了大量的REST API接口,有用于Flink UI展示数据、也用于各自监控面板。这些REST API的webserver作为JobManager的一部分在运行。默认端口是8081,可以通过flink-conf.yamlrest.port参数进行配置。

在有多个JobManager的情况下(HA场景下),每个JobManager将运行自己的REST API实例,而由被选为leader的JobManager实例提供有关已完成和正在运行的作业的信息。

二、开发指南

REST API 位于flink-runtime项目下,核心实现org.apache.flink.runtime.webmonitor.WebMonitorEndpoint (因为Flink早期REST API都是用于监控,所以命名是WebMonitorEndpoint。现在其工作职能还包含一些任务启停等非监控场景),其主要是负责server实现和请求路由。

本站文章资源均来源自网络,除非特别声明,否则均不代表站方观点,并仅供查阅,不作为任何参考依据!
如有侵权请及时跟我们联系,本站将及时删除!
如遇版权问题,请查看 本站版权声明
THE END
分享
二维码
海报
【Flink源码实战(一)】给Flink增加一个REST API
Flink官方实现了大量的REST API接口,有用于Flink UI展示数据、也用于各自监控面板。这些REST API的webserver作为JobManag...
<<上一篇
下一篇>>