Flink Operator 使用指南 之 Flink Operator安装

news2024/11/15 21:37:11

介绍

Flink Kubernetes Operator 充当控制平面来管理 Apache Flink 应用程序的完整部署生命周期。尽管 Flink 的Native Kubernetes 集成已经允许用户在运行的 Kubernetes(k8s) 集群上直接部署 Flink 应用程序,但自定义资源和Operator Pattern 也已成为 Kubernetes 原生部署体验的核心。
Flink Kubernetes Operator 旨在承担管理 Flink 部署的人类操作员的职责。人类操作员对 Flink 部署应该如何运行、如何启动集群、如何部署作业、如何升级作业以及出现问题时如何反应有着深入的了解。Flink Kubernetes Operator 的主要目标是这些活动的自动化,这无法仅通过 Flink 原生集成来实现。

架构

Flink Kubernetes Operator充当控制平面,管理 Apache Flink 应用程序的完整部署生命周期。 Operator 可以使用 Helm 安装在 Kubernetes 集群上。在大多数生产环境中,它通常部署在指定的命名空间中,并控制一个或多个托管命名空间中的 Flink 部署。
Flink Operator
Operator 遵循 Kubernetes 原则,特别是控制循环:
Control Loop
用户可以使用 Kubernetes 命令行工具 kubectl 与操作员进行交互。 Operator 持续跟踪与 FlinkDeployment 和 FlinkSessionJob 自定义资源相关的集群事件。当 Operator 收到新的资源更新时,它将采取行动将 Kubernetes 集群调整到所需状态,作为其协调循环的一部分。初始循环由以下高级步骤组成:

1.FlinkDeployment/FlinkSessionJob 自定义资源(CR)
2. Operator 观察 Flink 资源的当前状态(如果之前部署过)
3. Operator验证提交的资源更改
4. Operator协调任何所需的更改并执行升级

CR 可以随时(重新)应用于集群。Operator不断调整以模仿期望的状态,直到当前状态成为期望的状态。所有生命周期管理操作都是在 Operator 中使用这个非常简单的原理来实现的。
Operator 使用 Java Operator SDK构建,并使用 Native Kubernetes Integration 启动 Flink 部署并在后台提交作业。 Java Operator SDK 是一个更高级别的框架和相关工具,用于支持用 Java 编写 Kubernetes Operator。 Java Operator SDK 和 Flink 的原生 kubernetes 集成本身都使用 Fabric8 Kubernetes 客户端与 Kubernetes API 服务器交互。

Flink 资源生命周期

Operator 管理 Flink 资源的生命周期。下图说明了不同的可能状态和转换:
Flink Resource Lifecycle
我们可以区分以下几种状态:

CREATED :资源已在 Kubernetes 中创建,但尚未由操作员处理
SUSPENDED :(作业)资源已暂停 升级:资源在升级到新规范之前被暂停
DEPLOYED :资源已部署/提交到 Kubernetes,但尚未被认为稳定,将来可能会回滚
STABLE :资源部署被认为是稳定的,不会回滚
ROLLING_BACK :资源正在回滚到最后一个稳定规范
ROLLED_BACK :资源使用最新的稳定规范进行部署
FAILED :作业最终失败

更多参考:Flink Operator Controller Flow 阐述Flink Operator 控制流程,初期不建议读者看这部分内容,如果需要定制开发Flink Operator的行为,可以参考改文章

部署/安装Flink Operator

Flink Operator提供了本地安装和远程安装的方式,其中远程需要保障用户的k8s集群连接外部网络,自动下载相关K8S镜像,这里我们主要记录一下本地安装的步骤。
1)为了构建操作员,您需要下载flink-operator源码,并解压到CentOS机器的指定目录下:
Flink Opertor下载地址

tree -L 1  flink-kubernetes-operator/
  1. 本地安装JDK 和 maven3.x 环境,需要注意Flink Kubernetes Operator 需要用户安装 Java 11.
[root@CentOSA ~]# rpm -ivh jdk-11.0.20_linux-x64_bin.rpm
warning: jdk-11.0.20_linux-x64_bin.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:jdk-11-2000:11.0.20-9            ################################# [100%]
[root@CentOSA ~]# java -version
java version "11.0.20" 2023-07-18 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.20+9-LTS-256)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.20+9-LTS-256, mixed mode)
[root@CentOSA ~]# mvn -version
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: /export/server/apache-maven-3.6.3
Java version: 11.0.20, vendor: Oracle Corporation, runtime: /usr/lib/jvm/jdk-11-oracle-x64
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-1160.95.1.el7.x86_64", arch: "amd64", family: "unix"

3.进入Flink-Operator目录编译Flink Operator源码

[root@CentOSA App]# cd flink-kubernetes-operator
[root@CentOSA flink-kubernetes-operator]# mvn clean install -DskipTests -T 1C
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO]
[INFO] Flink Kubernetes:                                                  [pom]
[INFO] Flink Kubernetes Standalone                                        [jar]
[INFO] Flink Kubernetes Operator Api                                      [jar]
[INFO] Flink Kubernetes Operator              

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1237200.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

跑步耳机哪个牌子好?这五款跑步耳机闭眼入也不会错!

作为一个经常跑步运动的人,总感觉运动能够让人暂时远离城市的喧嚣,同时运动也是一种特别好的舒压方法。但跑步的时候如果没有音乐助燃,那是没有灵魂的,这也许就是现代年轻人的矫情吧,我在运动的时候经常会佩戴骨传导耳…

渗透测试高级技巧(二):对抗前端动态密钥与非对称加密防护

在前文的技术分享中,我们描述了验签和静态对称加密(静态密钥 AES)的常见场景,大家我相信遇到类似的加解密清醒,基本都可以通过热加载的基本使用获得破解前端加密解密的方法,达到一个比较好的测试状态。 在…

无法创建 8192 MB 的匿名分页文件: 系统资源不足,无法完成请求的服务。

好久没用VMware Workstation,今天突然要用,发现所有的虚机在启动的时候提示都提示: 无法创建 XXXX MB 的匿名分页文件:页面文件太小,无法完成操作。 未能分配主内存。 模块"MainMem"启动失败。 未能启动…

[计算机网络实验]头歌 实验二 以太网帧、IP报文分析

目录 第1关:Wireshark基本使用入门 【实验目的】 【实验环境】 【本地主机、平台虚拟机之间数据传递】 wireshark基本用法】 1、wireshark主界面 2、抓取分组操作 3、Wireshark窗口功能 4、筛选分组操作 【实验操作】 ​编辑 第2关:Ethernet帧…

排序算法--冒泡排序

实现逻辑 ① 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 ②对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 ③针对所有的元素重复以上的步骤,除了最后一个。 ④…

怎么判断list是否为null

List<Entity> baseMess new ArrayList<>(); baseMess motiveService.getBaseMessage(machine.get(i),preDate,nowDate); System.out.println("获取Size"baseMess.size()); baseMess.removeIf(Objects::isNull); System.out.println("获取Size"…

NV080D语音芯片:让智能快递柜取件更便利

随着互联网的普及和电子商务的迅速发展&#xff0c;网购消费已经成为了越来越多人的选择。这也催生了一个庞大的“网购一族”&#xff0c;他们购买的各种商品会通过快递公司送到家门口。然而&#xff0c;收取快递往往也伴随着一系列问题。比如&#xff0c;派送时间和收件人取件…

使用Echarts.js绘制中国地图

使用Echarts.js绘制中国地图 一、页面效果 二、功能描述 ​ 1、展示中国所有省份&#xff0c;包括南海诸岛&#xff0c;确保领土完整&#xff0c;中国领土神圣且不可侵犯。 ​ 2、每个省份根据对应数据的不同渲染不同的颜色&#xff0c;根据数据从小到大&#xff0c;对应底部…

maven pom引入依赖不报红,但是项目Dependencies中没有引入jar包

前言 小编我将用CSDN记录软件开发求学之路上亲身所得与所学的心得与知识&#xff0c;有兴趣的小伙伴可以关注一下&#xff01; 也许一个人独行&#xff0c;可以走的很快&#xff0c;但是一群人结伴而行&#xff0c;才能走的更远&#xff01;让我们在成长的道路上互相学习&…

ROS2对比ROS1的一些变化与优势(全新安装ROS2以及编译错误处理)《1》

1、概述 我们在前面介绍的ROS&#xff0c;都是ROS1的版本&#xff0c;近期对机器狗进行学习的时候&#xff0c;发现版本是ROS2了&#xff0c;也发现平时习惯的一些命令都有了变化&#xff0c;改变还是挺大的&#xff0c;不过熟悉之后还是很习惯ROS2的写法。 ROS2不是在ROS1的基…

基于SSM的公司仓库管理系统(有报告)。Javaee项目

演示视频&#xff1a; 基于SSM的公司仓库管理系统&#xff08;有报告&#xff09;。Javaee项目 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&#xff0c;通过Spring SpringMvc …

Sulfo-CY5 DBCO的荧光特点、激发发射-星戈瑞

**Sulfo-CY5 DBCO是一种近红外荧光标记探针&#xff0c;具有以下荧光特点&#xff1a; 激发波长&#xff1a;**Sulfo-CY5 DBCO的激发波长位于近红外区域&#xff0c;通常在650-670纳米之间。近红外光在生物体内具有较好的组织穿透性&#xff0c;能够减少组织自发荧光的干扰&…

ArkTS声明式开发范式

装饰器 用来装饰类、结构体、方法以及变量&#xff0c;赋予其特殊的含义&#xff0c;如上述示例中 Entry 、 Component 、 State 都是装饰器。 Component 表示这是个自定义组件&#xff1b; Entry 则表示这是个入口组件&#xff1b; State 表示组件中的状态变量&#xff0c;…

MySql表中添加emoji表情

共五处需要修改。 语句执行修改&#xff1a; ALTER TABLE xxxxx CONVERT TO CHARACTER SET utf8mb4;

全志R128芯片RTOS调试指南

RTOS 调试指南 此文档介绍 FreeRTOS 系统方案支持的常用软件调试方法&#xff0c;帮助相关开发人员快速高效地进行软件调试&#xff0c;提高解决软件问题的效率。 栈回溯 栈回溯是指获取程序的调用链信息&#xff0c;通过栈回溯信息&#xff0c;能帮助开发者快速理清程序执行…

线性代数 - 几何原理

目录 序言向量的定义线性组合、张成空间与向量基线性变换和矩阵线性复合变换与矩阵乘法三维空间的线性变换行列式矩阵的秩和逆矩阵维度变换点乘叉乘基变换特征值和特征向量抽象向量空间 序言 欢迎阅读这篇关于线性代数的文章。在这里&#xff0c;我们将从一个全新的角度去探索线…

NX二次开发UF_CAM_PREF_ask_logical_value 函数介绍

文章作者&#xff1a;里海 来源网站&#xff1a;https://blog.csdn.net/WangPaiFeiXingYuan UF_CAM_PREF_ask_logical_value Defined in: uf_cam_prefs.h int UF_CAM_PREF_ask_logical_value(UF_CAM_PREF_t pref, logical * value ) overview 概述 This function provides …

DC电源模块检测故障步骤有哪些

BOSHIDA DC电源模块检测故障步骤有哪些 DC电源模块检测故障步骤如下&#xff1a; 1. 检查输入电压&#xff1a;用万用表测量输入电压&#xff0c;确保其在规定范围内。 2. 检查输出电压&#xff1a;用万用表或示波器测量输出电压&#xff0c;确保其在规定范围内。 3. 检查输…

HPC 集群计算类型的注意事项

HPC 集群计算类型的注意事项 HPC 工作负载在 CPU &#xff0c;内存&#xff0c;网络和存储资源需求方面有不同的要求。 您可以从以下内容开始: 核心计数每个核心的内存网络带宽和等待时间处理器时钟速度 目标是选取返回最佳性价比的计算配置。 HPC 工作负载可以与单个核心作…