Flink 有了一些查询job状态指标的API,这些监控 API is a REST-ful API 接受 HTTP 请求并返回JSON data ;这些监控API以jobManager中web server 为基础,默认其监听端口为8081,当然你可以在flink-conf.yaml 配置中通过 rest.port 自定义其端口,下面我们就对其REST-ful API 进行尝试。

一: Flink 上传JAR包REST-ful API

请求方式:POST

请求路径:http://localhost:8081/jar/upload

请求头: application/x-java-archive

POST  http://localhost:8081/jars/upload
说明 The jar must be sent as multi-part data. Make sure that the "Content-Type" header is set to "application/x-java-archive"
另外一个方式,可以尝试用下面请求提交jar包curl -X POST --header "Except:" -F "jarfile=@/home/opt/dbappLot-flink-1.0-SNAPSHOT-jar-with-dependencies.jar" http://localhost:8081/jars/upload其返回值:
{"filename":"/tmp/flink-web-26298886-4da6-4bf4-b635-fa301dee092e/flink-web-upload/82ea69b3-27c5-469d-992a-82be8c3d929d_dbappLot-flink-1.0-SNAPSHOT-jar-with-dependencies.jar","status":"success"}
其中filename 为存在地址
其中82ea69b3-27c5-469d-992a-82be8c3d929d_dbappLot-flink-1.0-SNAPSHOT-jar-with-dependencies.jar  为jarid

二:查看JAR包ID REST-ful API

请求   GET  http://localhost:8081/jars
返回值:
{"address": "http://localhost:8081","files": [{"id": "82ea69b3-27c5-469d-992a-82be8c3d929d_dbappLot-flink-1.0-SNAPSHOT-jar-with-dependencies.jar","name": "dbappLot-flink-1.0-SNAPSHOT-jar-with-dependencies.jar","uploaded": 1617180292000,"entry": [{"name": "com.dbapp.main.ApplicationMain","description": null}]}]
}

三:启动JOB REST-ful API

请求方式:POST

请求路径:http://localhost:8081/jar/{jarId}/run

请求   POST  http://localhost:8081/jars/82ea69b3-27c5-469d-992a-82be8c3d929d_dbappLot-flink-1.0-SNAPSHOT-jar-with-dependencies.jar/run
在请求中可以带上参数
allowNonRestoredState (optional): Boolean value that specifies whether the job submission should be rejected if the savepoint contains state that cannot be mapped back to the job.
savepointPath (optional): String value that specifies the path of the savepoint to restore the job from.
programArg (optional): Comma-separated list of program arguments.
entry-class (optional): String value that specifies the fully qualified name of the entry point class. Overrides the class defined in the jar file manifest.
parallelism (optional): Positive integer value that specifies the desired parallelism for the job.POST  http://localhost:8081/jars/82ea69b3-27c5-469d-992a-82be8c3d929d_dbappLot-flink-1.0-SNAPSHOT-jar-with-dependencies.jar/run? parallelism =21、http://192.168.196.3:8081/jars/a9ffd519-5222-40aa-9228-22464417a055_examples-java-1.0.jar/run?entry-class=io.github.streamingwithflink.demo.BatchCountFromJdbc&programArgsList=--bootstrap.servers hadoop2.test.yunwei.puppet.dh:6667,hadoop3.test.yunwei.puppet.dh:6667,hadoop4.test.yunwei.puppet.dh:6667 --group.id m3gcn_tab_map_race_3 --client.id m3gcn_tab_map_race_3 --config.file hdfs://DHTestCluster/user/gezhihui/flink/configuration/m3gcn_tab_map_race2.txt --job.name m3gcn_tab_map_race
2、http://localhost:8081/jars/java-3.0.jar/run
{"entryClass":"streamingwithflink.ApplicationMain""programArgsList": ["--name","wen"]
}请求体中的programArgsList可以传值到main函数的string[]args,取值可以通过ParameterTool parameters =
ParameterTool.fromArgs(args);String name = parameters.get("name");所以他的key-value的格式是key为"--key"或者"-key",
value为key的下一行,根据上述代码,value不要以"-"作为开头,这里也可以自己去解析String[],这里args就对应我们programArgsList
的传参,如3所示3、http://localhost:8081/jars/java-2.0.jar/run
{"entryClass":"streamingwithflink.ApplicationMain""programArgsList": ["--name","wen"]}

其放回值为:

{
    "jobid": "c18ac90bea03abcbc117a85a1080ba3b"
}

四:查看  JOB REST-ful API

请求方式:GET

请求路径:http://localhost:8081/jobs

返回值:{"jobs":[{"id":"c18ac90bea03abcbc117a85a1080ba3b","status":"RUNNING"},{"id":"43948e17785acc47deb6344d9165c6b3","status":"CANCELED"}]}

五:获取JOB详细信息  REST-ful API

请求方式:GET

请求路径:http://localhost:8081/jobs/{jobId}

返回值:

{"jid": "c18ac90bea03abcbc117a85a1080ba3b","name": "jobName","isStoppable": false,"state": "RUNNING","start-time": 1617189444432,"end-time": -1,"duration": 374118,"now": 1617189818550,"timestamps": {"RESTARTING": 0,"FINISHED": 0,"CANCELED": 0,"FAILING": 0,"RECONCILING": 0,"RUNNING": 1617189444440,"SUSPENDED": 0,"FAILED": 0,"CANCELLING": 0,"CREATED": 1617189444432},"vertices": [{"id": "cbc357ccb763df2852fee8c4fc7d55f2","name": "Source: dbappLot_kafkaSource -> flattenJson -> avitorMap -> schemaMap -> unFlattenJson -> (Sink: Print to Std. Out, Sink: KafkaSink)","parallelism": 1,"status": "RUNNING","start-time": 1617189444517,"end-time": -1,"duration": 374033,"tasks": {"CANCELED": 0,"SCHEDULED": 0,"RUNNING": 1,"FINISHED": 0,"RECONCILING": 0,"CREATED": 0,"FAILED": 0,"DEPLOYING": 0,"CANCELING": 0},"metrics": {"read-bytes": 0,"read-bytes-complete": false,"write-bytes": 0,"write-bytes-complete": false,"read-records": 0,"read-records-complete": false,"write-records": 0,"write-records-complete": false}}],"status-counts": {"CANCELED": 0,"SCHEDULED": 0,"RUNNING": 1,"FINISHED": 0,"RECONCILING": 0,"CREATED": 0,"FAILED": 0,"DEPLOYING": 0,"CANCELING": 0},"plan": {"jid": "c18ac90bea03abcbc117a85a1080ba3b","name": "jobName","nodes": [{"id": "cbc357ccb763df2852fee8c4fc7d55f2","parallelism": 1,"operator": "","operator_strategy": "","description": "Source: dbappLot_kafkaSource -> flattenJson -> avitorMap -> schemaMap -> unFlattenJson -> (Sink: Print to Std. Out, Sink: KafkaSink)","optimizer_properties": {}}]}
}

六:关闭JOB REST-ful API

     请求方式:PATCH

请求路径:http://localhost:8081/jobs/{jobId}

     返回值:

【Flink Rest-ful API 】相关推荐

  1. 【Flink实时数仓】数据仓库项目实战 《四》日志数据分流 【DWD】

    文章目录 [Flink实时数仓]数据仓库项目实战 <四>日志数据分流-流量域 [DWD] 1.流量域未经加工的事务事实表 1.1主要任务 1.1.1数据清洗(ETL) 1.1.2新老访客状 ...

  2. 从图片提取文字的终极解决方法 ——【通用文字识别 API】

    写在前面 相信你用过类似对进行图片中的文字提取的功能,但是你了解过背后的原理吗? 本文将从图片中文字提取的原理以及应用案例等多方面进行讲述,希望一文能为你讲透通用文字识别. 通用文字识别是什么技术 随 ...

  3. 【通知短信API】简单易用,三秒必达

    通知短信是一种电子通讯形式,使企业可以清楚的通知客户或其他企业.通知短信可以用来替代传统的通知服务,例如发表新闻,宣传活动,发布新产品等,它比传统的文字通知要灵活,更加有效率. 短信通知API是一种供 ...

  4. 【腾讯地图API】制作多途经点的线路导航——路线坐标规划

    面试:你懂什么是分布式系统吗?Redis分布式锁都不会?>>>    最近百度地图转腾讯地图以前用过百度地图实现路线坐标规划,不过搜索了一些没有搜索到腾讯地图的路线坐标规划,于是参数 ...

  5. 【Flink源码分析】Flink 命令启动全流程

    一.启动脚本分析 1. WordCount启动命令 bin/flink run examples/streaming/SocketWindowWordCount.jar --hostname loca ...

  6. 【FLink源码分析】:Accumulator源码分析

    文章目录 Accumulator源码分析学习 Accumulator源码结构 Accumulator 结构 成员方法 SimpleAccumulator 累加器使用案例 code Accumulato ...

  7. 【Flink源码篇】Flink 1.15.0源码编译

    目录 1. 下载源码并解压 2. Flink项目配置 3. 源码编译 4. 编译问题记录 5. IDEA调试Flink程序 1. 下载源码并解压 从github下载Flink的源码:https://g ...

  8. 【Google Earth COM API】简易教程

    这段时间因为要做自己项目的SDK,所以参考了一下Google Earth COM API的开发方式,无奈Google Earth COM API年代过于久远,技术早已过时,所以也没有很大的参考意义,这 ...

  9. 【高代码文件格式API】道宁为您提供文件格式API集——Aspose,只需几行代码即可创建转换和操作100多种文件格式

    Aspose系列产品是 高代码文件格式API 使您的应用程序能够处理 适用于所有主要平台的 Word.Excel.PDF.PowerPoint.Outlook 和100多种其他文件格式 Aspose提 ...

  10. java人脸识别api_【Java-人脸识别API】人脸库管理 核心类

    你知道吗?(十万个为什么....) 人脸识别API 包含有 :人脸检测,人脸对比,人脸查找,人脸库管理... 如果你还不熟悉 请移步到官方文档仔细阅读吧 API文档地址:http://ai.baidu ...

最新文章

  1. NeurIPS 2019最佳论文出炉,今年增设“新方向奖”,微软华人学者获经典论文奖...
  2. Python快速教程博客园地址
  3. win7 右键菜单增加“在此以管理模式运行命令行”
  4. python脚本运行一段时间后就停止了_CMD运行python程序自动暂停问题解决
  5. vsftpd安装问题汇总(持续更新。。)
  6. SystemTray.cpp
  7. 完全开源版可乐个人发卡网无授权完整运营版/整合最新免签约支付接口
  8. 微软在 Build 2020 上“展示”新版 Edge for Linux
  9. 用BP神经网络预测虫害
  10. Vijos P1786 质因数分解【质因数分解】
  11. vue 花括号里面的变量_二、Vue条件指令
  12. 百度地图城市代码CityID
  13. Kepware三菱驱动连接轻松开启
  14. 华为s2600t java_华为S2600T------v1版本
  15. 笔记本电脑频繁自动重启_电脑老是自动重启,电脑总是自动重启 - 电脑经常自动重启的解决办法 - 安全专题...
  16. 1K直接金属涂层(DTM)-市场现状及未来发展趋势
  17. template的使用,泛式编程
  18. 网络安全意识 | 以人为本,安全意识工作大有可为
  19. [Kafka][错误: 找不到或无法加载主类 Files\Java\jdk1.8.0_101\lib\dt.jar;C:\Program]
  20. 孙溟㠭(展)为哥伦比亚总统‘阿尔瓦罗·乌里贝‘先生治名章篆刻印章

热门文章

  1. oracle 月份中日的值必须介于 1 和当月最后一日之间,ora-01847:月份中日的值必须介于 1 和当月最后一日之间...
  2. SpringBooot
  3. php作业批改系统源码,在线|WEB作业批改系统
  4. unity水流效果插件Obi Fluidv4.1
  5. 公司注销又有新变化! 财务人要知道的公司注销新规定
  6. Class文件结构神秘的微笑(二)
  7. 10寸、10.1寸、10.4寸液晶屏解决方案
  8. 计算机派位录取,北京小升初派位入学随机录取志愿优先,与成绩无关
  9. 学习笔记 | Python编程从入门到实践 | 第二章变量和简单数据类型
  10. 利用keras搭建基础模型莺尾花