【flink配置系列】flink jobmanager-session-deployment-ha.yaml 功能源码用法详解

flink.4 Deployment Modes (调度模式) 这几天查了很多调度模式,大多说的不全面,趁着学习,正好记录一下. .这篇文章着重讲解flink 程序的调度模式,关于jobmanager,taskmanager扽分其他知识,请读者自行查询,也许我后面的文章会讲解,但是这里只讲解flink的三种部署(调度)模式. clent的概念 下图显示了Flink集群的构建块。flink程序的运行始于clien也就是你提交程序的代码。client获取Flink应用程序的代码,将其转换为JobGraph并提交给JobManager。 JobManager将工作分发到tas 阅读详情

jobmanager-session-deployment-ha.yaml

配置文件主要功能

这个配置文件是用于部署 Flink JobManager 的 Kubernetes Deployment。在高可用(HA)模式下,使用该配置文件可以创建一个 JobManager 实例。

  • 定义了一个名为 flink-jobmanager 的 Deployment。
  • 设置副本数为 1,可以根据需要将其设置为大于 1 以启动备用的 JobManager。
  • 使用标签选择器 app: flink 和 component: jobmanager 来匹配对应的 Pod。
  • 在 Pod 模板中定义了一个名为 jobmanager 的容器,使用 apache/flink:latest 镜像。
  • 通过环境变量 POD_IP 获取 Pod 的 IP 地址,并在启动参数中将 jobmanager.rpc.address 的值覆盖为 $(POD_IP)。
  • 将容器的三个端口映射到相应的容器端口:6123(RPC)、6124(Blob Server)和 8081(Web UI)。
  • 配置了一个活跃探测(liveness probe),通过 TCP Socket 探测容器的 6123 端口,延迟 30 秒后开始探测,每 60 秒进行一次探测。
  • 挂载名为 flink-config-volume 的卷到容器的 /opt/flink/conf 目录,该卷来自 ConfigMap flink-config 中的两个文件。
  • 设置容器的安全上下文,将容器的用户 ID 设置为 9999(根据官方 flink 镜像的用户 _flink_),如果需要可以进行更改。
  • 指定了 flink-service-account 作为 Service Account,该 Service Account 具有创建、编辑和删除 ConfigMaps 的权限。

配置文件加上中文注释

apiVersion: apps/v1
kind: Deployment
metadata:
  name: flink-jobmanager   # Deployment 的名称
spec:
  replicas: 1             # 设置副本数为 1,可以根据需要设置大于 1 以启动备用的 JobManager
  selector:
    matchLabels:
      app: flink          # 匹配标签为 app=flink 的 Pod
      component: jobmanager  # 匹配标签为 component=jobmanager 的 Pod
  template:
    metadata:
      labels:
        app: flink         # 在 Pod 模板中设置标签 app=flink
        component: jobmanager  # 在 Pod 模板中设置标签 component=jobmanager
    spec:
      containers:
      - name: jobmanager   # 容器名称为 jobmanager
        image: apache/flink:latest  # 使用 apache/flink:latest 镜像
        env:
        - name: POD_IP      # 设置环境变量 POD_IP,获取 Pod 的 IP 地址
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.podIP
        args: ["jobmanager", "$(POD_IP)"]  # 在启动参数中将 jobmanager.rpc.address 的值覆盖为 $(POD_IP)
        ports:
        - containerPort: 6123  # 将容器的 6123 端口映射为 RPC 端口
          name: rpc
        - containerPort: 6124  # 将容器的 6124 端口映射为 Blob Server 端口
          name: blob-server
        - containerPort: 8081  # 将容器的 8081 端口映射为 Web UI 端口
          name: webui
        livenessProbe:  # 配置活跃探测
          tcpSocket:
            port: 6123     # 通过 TCP Socket 探测容器的 6123 端口
          initialDelaySeconds: 30  # 延迟 30 秒后开始进行探测
          periodSeconds: 60        # 每 60 秒进行一次探测
        volumeMounts:
        - name: flink-config-volume  # 挂载名为 flink-config-volume 的卷到容器的 /opt/flink/conf 目录
          mountPath: /opt/flink/conf
        securityContext:
          runAsUser: 9999  # 将容器的用户 ID 设置为 9999(根据官方 flink 镜像的用户 _flink_),如有需要可进行更改
      serviceAccountName: flink-service-account  # 指定 flink-service-account 作为 Service Account
      volumes:
      - name: flink-config-volume   # 定义名为 flink-config-volume 的卷
        configMap:
          name: flink-config   # 从 ConfigMap flink-config 中获取卷的内容
          items:
          - key: flink-conf.yaml
            path: flink-conf.yaml
          - key: log4j-console.properties
            path: log4j-console.properties

官方链接

org.apache.flink.client.deployment.ClusterDeploymentException: Couldn‘t deploy Yarn session cluster flink集群启动异常如下: org.apache.flink.client.deployment.ClusterDeploymentException: Couldn't deploy Yarn session cluster at org.apache.flink.yarn.YarnClusterDescriptor.deploySessionCluster(YarnClusterDescriptor.java:381) at org.apache.flink.yar 阅读详情

相关推荐

Flink Operator 使用指南 之 Flink Operator安装

Flink Operator实战基础篇

麦田里的守望者-蒋中洲【相信相信的力量】 1589

K8S中部署Flink Session高可用集群

K8S中部署Flink Session高可用集群,通过持久化recovery,checkpoints实现故障恢复,并集成Prometheus监控

lc2288的博客 3364

flink deployment 及operation 笔记

记录下flink deployment 及operation 笔记 ,基于flink 1.14.2

weixin_40455124的博客 979

3.4、Flink 集群部署(Deployment & Operations)- State & Fault Tolerance(Flink状态和容错)之 调优检查点和大状态

要使 Flink 应用程序大规模可靠地运行,必须满足两个条件: 应用程序需要能够可靠地接受检查点 在失败之后,资源需要充分跟上输入数据流 第一部分讨论如何在大规模上很好地执行检查点。最后一节解释了一些关于计划使用多少资源的最佳实践。 监控State and Checkpoints 监视检查点行为的最简单方法是通过 UI 的检查点部分。检查点监视的文档显示了如何访问可用的检查点指标。 Fl...

主要写大数据集群一线运维和学习工作经验 1326

【信息科学与工程学】【数据科学】第一百二十二篇 大数据产品中的函数与算法01

它通常指。下面按照你给出的表格列💡 说明:下表中的"产品"以开源/主流商业组件为具象载体(Hadoop、Spark、Flink、Kafka、Hive、HBase、Iceberg、Atlas、Ranger、TensorFlow 等),它们共同构成一个完整的大数据产品家族;代码为实现示例,用于说明算法在工程系统中的落地方式。

weixin_49199313的博客 199

flink三种部署模式

部署模式 flink可以通过以下三种模式部署: Session Mode Per-Job Mode Application Mode 以上方式主要区别在于 集群生命周期和资源隔离保证 应用程序的main方法是在客户端还是在集群上执行。 Session Mode(会话模式) 会话模式假定存在已经在运行的集群,并使用该集群的资源来执行任何提交的应用程序。在同一(会话)集群中执行的应用程序使用并因此竞争相同的资源。这样做的好处是,您不必为每个提交的作业都创建集群。但是,如果其中一项作业行为不当或关闭了ta

u011624157的专栏 6074

Flink On K8s实践4:Session部署模式实践

Apache Flink是当下主流了流式计算引擎,在企业的实时数仓、实时BI、数据湖、智能推荐和风险风控等场景中有广泛的应用。Apache Flink支持多种Resource Providers,也就是可以在多种资源平台上运行,本系列文章以当前热门的容器平台Kubernetes作为Flink的Resource Proivder,全面讲解如何在Kubernetes平台上以Flink Kubernetes Operator的方式运行Flink作业应用。

homeofcm的专栏 1334

笔记——Oracle19c

Oracle阅读笔记

weixin_63819458的博客 1350

【flink配置系列】flink jobmanager-session-deployment-non-ha.yaml功能源码详解

这个配置文件是用于部署 Flink JobManager 的 Kubernetes Deployment。在非高可用(Non-HA)模式下,使用该配置文件可以创建一个 JobManager 实例。

wang2leee的博客 188

TEC控制器芯片 ADN8835 中文数据手册

ADN8835是一款高集成度的单芯片TEC控制器。它包括线性电压调节模块脉冲宽度调制(PWM) 电压调节模块和两个零漂移、轨到轨斩波放大器。线性控制器和PWM驱动器用于控制H桥配置中的内部功率MOSFET。通过测量热传感器反馈电压,并使用集成的运算放大器作为比例-积分-微分(PID)补偿器来调理信号,ADN8835通过TEC驱动电流,将连接至TEC模块的激光二极管或无源组件的温度稳定到编程的目标温度。

lu2289504634的博客 9540

从INCA到Excel:手把手教你移植汽车标定数据的查表插值算法(附源码)

本文详细介绍了如何将汽车标定数据从INCA平台移植到Excel,实现查表插值算法的完整迁移。通过解析INCA MAP数据结构,设计Excel环境下的双线性插值算法,并提供VBA和C#两种实现方案,帮助工程师高效处理标定数据。文章包含实用代码示例和性能优化技巧,适用于ECU开发与标定场景。

weixin_29313239的博客 411

4、Flink 集群部署(Deployment & Operations)- Configuration(Flink配置项)

对于单节点设置,Flink已经准备好开箱即用,不需要更改默认配置即可启动。本文针对于Flink集群和与其他组件的配置项。 在conf/flink-conf.yaml配置里可以通过修改env.java.home来更改jdk。 此页面列出了设置性能良好(分布式)安装通常需要的最常见选项。 所有配置项都在conf/flink-conf.yaml这个配置温江当中。 系统和运行脚本在启动时解析配置。...

主要写大数据集群一线运维和学习工作经验 3929

SAP IDOC实战:5分钟搞定采购订单自动生成销售订单(附完整配置流程)

本文详细介绍了如何利用SAP IDOC技术,在5分钟内实现采购订单自动生成销售订单的完整配置流程。通过清晰的步骤解析和实战案例,帮助用户理解IDOC在跨公司交易中的核心价值,掌握从环境准备、合作伙伴参数配置到输出类型设置的关键操作,并提供了常见错误的排查方法,助力企业快速搭建高效、可靠的供应链自动化桥梁。

dd012的博客 940

【flink配置系列】flink taskmanager-session-deployment.yaml 功能源码用法详解

这个配置文件是用于部署 Flink TaskManager 的 Kubernetes Deployment。

wang2leee的博客 330

用友U8 API 二次开发:WebService封装7个核心DLL引用与U8Login登录避坑

本文详细介绍了用友U8 API二次开发中的WebService封装与U8Login登录优化实践。通过7个核心DLL的正确引用、U8Login登录机制的深度解析及IIS环境下的特殊处理方案,为开发者提供了一套高可用性的通用解决方案,助力企业实现ERP系统的高效集成与数字化转型。

weixin_42524171的博客 505

水文仿真软件:HEC-RAS (Hydrologic Engineering Center‘s River Analysis System)_(7).一维非稳态水力模型

自定义脚本是通过编程语言(如 Python)编写的一系列自动化任务,可以帮助用户更高效地处理数据和运行模型。编写脚本:使用 Python 或其他编程语言编写自定义脚本。集成脚本:将脚本集成到 HEC-RAS 中,实现自动化数据处理和模型运行。

kkchenjj的博客 933

【flink配置系列】FLink配置大全

所有配置都在`conf/flink-conf.yaml`中完成,这个文件应该是一个扁平的[YAML键值对](http://www.yaml.org/spec/1.2/spec.html)集合,格式为`key: value`。配置在Flink进程启动时被解析和评估。对配置文件的更改需要重新启动相关的进程。

wang2leee的博客 4889

基于Matlab生成并可视化多架飞机轨迹仿真(附源码)

这使我们可以轻松地对直线和恒定转弯进行建模,并具有额外的自由度,可以在直线段和曲线段之间平滑过渡。同样,空气中的物体会经历重力的影响,遵循抛物线(二次)路径。需要更多的航点来适应这些变化,但是轨迹的其余部分需要更少的点。第三个轨迹,如下所示,代表了一架速度更高的飞机。它由两个恒定的转弯组成,飞机在第二个转弯的中间减速。一旦知道(并设置了)物体穿过空间的物理路径,物体的速度作为行进距离的函数就通过三次埃尔米特插值来确定。在此示例中,学习了内部使用的插值符背后的概念,并展示了如何使用少量航点重现场景。

珞瑜的博客 5464

flink开发过程中遇到的问题

文章目录类转换异常local class incompatible 类转换异常 cannot be cast to com.google.protobuf.Message Caused by: java.lang.ClassCastException: org.apache.hadoop.yarn.proto.YarnServiceProtos$RegisterApplicationMasterRequestProto cannot be cast to com.google.protobuf.Messa

公众号[大数据技术与应用实战],分享大数据实战案例 4040

WorkBuddy 技能指南:基础办公与文档处理

WorkBuddy 不仅仅是一个对话工具——它通过技能(Skills)系统,将通用 AI 助手转变为具备专业领域能力的智能助手。每个技能都是一套经过精心设计的"能力包",包含专业知识、工作流程和专用工具。本文聚焦于文档处理类技能——这是日常工作中使用频率最高、最实用的能力集合。

u011186532的专栏 704

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

flink部署模式(五)- native k8s 两种部署模式

首先需要k8s环境,并且k8s version >1.9。flink版本flink1.15.0。k8s部署(minkube简单快速部署k8s):https://minikube.sigs.k8s.io/docs/start/ 如果使用 MiniKube,请确保在部署 Flink 集群之前先执行 minikube ssh ‘sudo ip link set docker0 promisc on’,否则 Flink 组件不能自动地将自己映射到 Kubernetes Service 中。 native k8s s

weixin_38251332的博客 2455

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Flink 部署

这里需要提到 Flink 中的几个关键组件:客户端(Client)、作业管理器(JobManager)和任务管理器(TaskManager)。我们的代码,实际上是由客户端获取并做转换,之后提交给 JobManger 的。所以 JobManager 就是 Flink 集群里的“管事人”,对作业进行中央调度管理;而它获取到要执行的作业后,会进一步处理转换,然后分发任务给众多的TaskManager。这里的 TaskManager,就是真正“干活的人”,数据的处理操作都是它们来做的, 一、快速启动一个 Fli.

mengxianglong123的博客 1万+

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

在k8s部署flink standaloneSession模式 job-manager 高可用集群搭建

在k8s部署flink standaloneSession模式 job-manager 高可用集群搭建

10年老JAVA大数据技术人的专栏 830

flink on k8s(minikube) session模式部署(HA)

安装 kubectl curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectl chmod +x ./kubectl...

iMonster 1654

Flink HA配置

JobManager 高可用(HA) jobManager协调每个flink任务部署。它负责调度和资源管理。 默认情况下,每个flink集群只有一个JobManager,这将导致一个单点故障(SPOF):如果JobManager挂了,则不能提交新的任务,并且运行中的程序也会失败。 使用JobManager HA,集群可以从JobManager故障中恢复,从而避免SPOF 。 用户在stand...

大数据技术博客 6795
上一篇: 【flink配置系列】flink jobmanager-session-deployment-non-ha.yaml功能源码详解
下一篇: 【flink配置系列】flink taskmanager-session-deployment.yaml 功能源码用法详解
BigDataMLApplication
博客等级 码龄11年 7363粉丝 565原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

BigDataMLApplication

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

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

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

打赏作者

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

抵扣说明:

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

余额充值