簡體   English   中英

如何使用REST API停止Flink作業

[英]How to stop a Flink job using REST API

我正在嘗試從詹金斯(Jenkins)向Flink部署工作。 到目前為止,我已經弄清楚了如何提交在構建作業中創建的jar文件。 現在,我想找到所有使用舊jar運行的Flink作業,正常停止它們,並使用我的新jar開始新作業。

API具有列出作業,取消作業和提交作業的方法。 但是,似乎沒有停止作業端點。 關於如何使用API​​正常停止作業的任何想法?

即使沒有記錄停止端點,它也確實存在並且其行為與取消端點相似。

基本上,這是Flink REST API文檔中缺少的一點:

停止工作

DELETE請求DELETE/jobs/:jobid/stop

停止工作,成功的結果是{}

對於那些不知道取消和停止之間的區別的人(從此處復制):

取消和停止(流式)作業之間的區別如下:

進行取消調用時,作業中的操作員會立即收到cancel()方法調用,以盡快將其取消。 如果取消調用后操作員沒有停止,Flink將開始定期中斷線程,直到其停止。

“停止”調用是停止正在運行的流作業的一種更為優雅的方法。 停止僅適用於使用實現StoppableFunction接口的源的作業。 當用戶請求停止工作時,所有源都將收到一個stop()方法調用。 作業將一直運行,直到所有源均正確關閉為止。 這樣就可以完成所有飛行數據的處理。

當我使用Flink 1.7時,以下是有關此版本的取消/停止flink作業的方法。

已經由我自己測試

  • 請求路徑: /jobs/{jobid}

    jobid-標識作業的32個字符的十六進制字符串值。

  • 請求方法: PATCH

  • 查詢參數:

    mode(可選):指定終止模式的字符串值。 支持的值為:“取消,停止”。

  • 示例10.xx.xx.xx:50865/jobs/4c88f503005f79fde0f2d92b4ad3ade4?mode=cancel

啟動紗線播種時可以使用一個端口

提交工作時可以使用jobid

參考:

https:// ci.apache.org/ projects/ flink/ flink- docs- release- 1.7/ monitoring/ rest_api.html`

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM