从零开发Flink提交小工具

本文介绍如何从零开发一个基于PyQt的Flink应用提交工具。通过该工具,可以方便地选择jar包、类名,自动填充Flink运行参数,一键启动Yarn session,并提供Jar包上传及历史留存功能。详细步骤包括PyQt环境配置、界面设计、各功能模块开发,如数据库交互、服务端API和Jar包上传等。
摘要由CSDN通过智能技术生成

由于开发中会经常提交测试flink应用,并且在某些特殊场景(如服务器以为宕机,手动停机)下需要对大量的flink应用启动,所以考虑开发这套工具。

这套工具具备了选择jar包,选择jar包下入口,避免了手动输入的繁琐场景,配备自动查找最新的checkpoint,常用的process内存,mamaged内存,slot数量以及jobmanage的heap内存和offheap内存,并且提供了一建启动yarn-session,一键上传jar包,并且同步留存历史jar包,即使出现了错了也可以手动恢复。

 

1.PyQt

1.1下载pyqt包

pip install pyqt5 -i https://pypi.tuna.tsinghua.edu.cn/simple

pip install pyqt5-tools -i https://pypi.tuna.tsinghua.edu.cn/simple

pip install pyqt5-stubs -i https://pypi.tuna.tsinghua.edu.cn/simple

1.2IDE配置PyQt(pycharm为例)

需要以自己的python目录为主找依赖

程序:D:\anacnda\Lib\site-packages\qt5_applications\Qt\bin\designer.exe

 工作目录:$ProjectFileDir$\ui

程序:D:\anacnda\python.exe

参数:-m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$_designed.py

工作目录:$FileDir$

 程序:D:\anacnda\Scripts\pyrcc5.exe

参数:$FileName$ -o $FileNameWithoutExtension$_rc.py

工作目录:$FileDir$

2.设计面板

2.1 画好需要的界面

 2.2 有限的选择可以预先设置好内容

 2.3 将文件转换为py

保存后回到pycharm,选中生成的文件.ui

3.开发各个模块

3.1 获取jar包名,class名以及flink run需要的appName和Ckeckpoint Path/name

3.1.1数据库建表

create table flink_job
(
    id      bigint auto_increment
        primary key,
    jar     varchar(200) default '' not null comment 'jar',
    class   varchar(200) default '' not null comment '入口',
    appname varchar(200) default '' not null comment '应用名',
    ckname  varchar(200) default '' not null comment 'checkpointName'
);

 3.1.2添加测试数据

 3.1.3构建开发function

使用pymysql构建读取和写入模块

import pymysql
import flinkcommitconf as conf

class FLINKCOMMITDB:
    def __init__(self):
        self.db = pymysql.connect(host=
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

千载春秋书风华

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值