发布网友 发布时间:2024-12-30 10:36
共1个回答
热心网友 时间:2024-12-30 10:47
在Session模式下,部署Flink K8s集群以支持动态创建TaskManager以响应Flink作业的提交。JobManager作为集群的中心,负责作业的协调与管理,而TaskManager数量则由作业需求与资源可用性决定。作业终止时,未被其他作业占用的TaskManager可被释放,但JobManager保持运行状态以备后续作业。此模式下,Flink作业共享JobManager,导致资源隔离较差,作业间相互影响。极端情况下,异常作业可能导致集群整体失败。Session模式提供两种Flink作业提交方式:一是通过Flink Web UI或Restful接口上传作业Jar包,操作灵活且便于调试;二是通过HTTP方式下载Jar包,有利于集中管理并配合Kubernetes API实现作业的提交、更新和停止。FlinkSessionJob定义Flink作业相关参数,而FlinkDeployment则关注集群配置,如JobManager和TaskManager资源。示例程序参照《Flink On K8s实践3:Application部署模式实践》中的程序,包括Flink集群和作业的部署、运行以及访问Flink Web UI上传和提交作业。Session模式下,作业提交方式主要区别在于Flink作业Jar包的获取途径,但两种方式各有适用场景,选择应基于作业的具体需求。Application模式和Session模式之间,Application模式通常适用于核心、高优先级作业,而Session模式则可能适合运维管理便利或对保障性要求不高的场景。通过实践,读者能理解Flink On K8s的基本配置和部署,了解JobManager和TaskManager的创建与释放过程,但要应用到生产环境还需掌握更多知识,如高可用部署、作业高可用运行及与Hadoop等的集成。