Flink 一键更换用户程序(with Python3)

本文档介绍了如何通过Python脚本结合Flink REST API,简化在Flink集群上频繁更新作业的过程。背景是在开发中需要多次取消旧作业、删除旧JAR、上传新JAR并启动新作业。脚本在Windows环境下运行,与K8s上的Flink集群交互,包括查找并取消作业、删除旧JAR、上传新JAR和启动作业四个步骤。
摘要由CSDN通过智能技术生成

背景

开发过程中会将JAR提交到Flink上集群上运行,结果发现有错。
然后改代码、cancel老的job、删除老的jar包,上传新的jar包,运行新的jar包。
然后上面的步骤一天重复个N次。累。于是用python,结合Flink Rest Api的说明文档,搞个脚本去跑。

Flink Rest API官网地址:https://ci.apache.org/projects/flink/flink-docs-release-1.7/monitoring/rest_api.html

运行环境:Flink Cluster on k8s, 脚本本地windows上执行

实现 & Code

脚本过程分为4步骤:

  1. 根据Job名称查找运行的Job,cancel掉他
  2. 根据Jar名称,删除老的Jar包
  3. 上传新的Jar包
  4. 把新的Jar包 run起来
import requests
import re
from requests_toolbelt import MultipartEncoder

def job_overview(name):
    """
    获取包含指定名称的在运行job
    :param name:
    :return:
    """
    response = requests.get(BASE_URL + "/jobs/overview")
    rj = response.json()
    jobs = rj.get("jobs")
    for job in jobs:
        job_id = job.get("jid")
        job_name = job.get("name"<
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值