当前位置: 首页 > news >正文

flink operator v1.10部署flink v1.19.2

1 概述

flink集群能对接kubernetes、yarn等集群管系统,本文介绍flink对接kubernetes。
flink kubernetes operator(网址:https://nightlies.apache.org/flink/flink-kubernetes-operator-docs-release-1.10/docs/concepts/overview/)可帮助你在kubernetes中管理flink集群、提交flink任务等,而你为此只需要认识一些kubernetes CR。

flink kubernetes operator的架构如下:

在这里插入图片描述

2 环境准备

2.1 华为云kubernetes集群

准备一个kubernetes集群,如下图所示:
在这里插入图片描述

2.2 flink operator helm包下载地址

https://downloads.apache.org/flink/flink-kubernetes-operator-1.10.0/flink-kubernetes-operator-1.10.0-helm.tgz

2.3 cert-manager yaml文件下载地址

https://github.com/jetstack/cert-manager/releases/download/v1.17.2/cert-manager.yaml

2.4 准备flink应用示例

https://github.com/apache/flink/tree/master/flink-examples

将示例的代码编译成jar包,再上传到对象存储OBS,如下图所示:
在这里插入图片描述


这些jar包存在独立的服务器上,flink operator可以通过HTTP协议拉取jar包,最终提交给flink集群。

3 部署

3.1 安装cert-manager

此组件是flink operator webhook的一个依赖,因此先安装它。

cd /tmp
wget https://github.com/jetstack/cert-manager/releases/download/v1.17.1/cert-manager.yaml
kubectl apply -f cert-manager.yaml

在这里插入图片描述

3.2 安装helm二进制工具

cd /tmp
wget https://get.helm.sh/helm-v3.16.2-linux-amd64.tar.gz
tar xf helm-v3.16.2-linux-amd64.tar.gz
cd linux-amd64
/bin/cp -f helm /usr/bin/
helm env

3.3 部署flink operator

下载fink operator的helm包,解压文件,最后通过helm命令将它部署在flink namespace中。

cd /tmp
wget https://downloads.apache.org/flink/flink-kubernetes-operator-1.10.0/flink-kubernetes-operator-1.10.0-helm.tgz
tar xf flink-kubernetes-operator-1.10.0-helm.tgz
helm upgrade --install flink-operator -n flink --create-namespace \
--set image.repository=swr.cn-south-1.myhuaweicloud.com/migrator/flink-kubernetes-operator \
--set image.tag=1.10.0 \
./flink-kubernetes-operator/

在这里插入图片描述

3.4 部署flink session集群

将下面一个FlinkDeployment资源提交到kubernetes集群即可,只需要描述flink集群的镜像,jobmanager和taskmanager的资源配额。

apiVersion: flink.apache.org/v1beta1
kind: FlinkDeployment
metadata:
  name: flink-session-cluster
  namespace: flink
spec:
  image: swr.cn-south-1.myhuaweicloud.com/migrator/flink:1.19
  flinkVersion: v1_19
  flinkConfiguration:
  jobManager:
    resource:
      memory: "2048m"
      cpu: 2
  taskManager:
    resource:
      memory: "2048m"
      cpu: 2
  serviceAccount: flink

在这里插入图片描述

3.5 负载均衡器暴露flink session集群

在控制台创建ingress资源即可:
在这里插入图片描述

4 提交flink应用

将FlinkSessionJob资源提交到kubernetes集群中即可。deploymentName指向刚刚新建的flink集群(deployment名称就是CR的名称)。

apiVersion: flink.apache.org/v1beta1
kind: FlinkSessionJob
metadata:
  name: basic-session-job-example
  namespace: flink
spec:
  deploymentName: flink-session-cluster
  job:
    jarURI: https://你的服务器地址/StateMachineExample.jar
    parallelism: 1

提交后,查看flink operator的日志,可以发现控制器协调成功:

o.a.f.k.o.r.d.AbstractFlinkResourceReconciler [INFO ][flink/basic-session-job-example] Resource fully reconciled, nothing to do...

登录浏览器查看flink集群,可见任务正常运行:
在这里插入图片描述

5 小结

通过提交kubernetes CR,来完成flink集群的创建、flink任务的管理等,这就是flink kubernetes operator的价值。

相关文章:

  • 腾讯SQL面试题变体实现:最长连续天数与允许1天中断的进阶解法
  • Day10,Hot100(栈,堆)
  • 了解状态机
  • C#: 日志函数
  • 新版 WSL2 2.0 设置 Windows 和 WSL 镜像网络教程
  • Linux提权之john破解shadow root密文登录提权(十)
  • 《操作系统 - 清华大学》 8 -7:进程管理:进程挂起
  • 内部知识库的核心模块是什么?
  • libwebsockets交叉编译全流程
  • 【每日八股】Redis篇(一):概述
  • 计算机毕设-基于springboot的汽车配件销售管理系统的设计与实现(附源码+lw+ppt+开题报告)
  • rust学习笔记4-基础类型2和内存管理模型
  • ike-scan:发现并指纹识别 IKE 主机(IPsec VPN 服务器)!全参数详细教程!Kali Linux教程!黑客教程!
  • 解决jupyter notebook不是内部或外部命令问题
  • 正则表达式--捕获exec方法
  • Grouped-Query Attention(GQA)详解: Pytorch实现
  • 红帽7基于kickstart搭建PXE环境
  • 【MySQL 一 数据库基础】深入解析 MySQL 的索引(3)
  • redis-bitmap使用场景
  • CSS中的`position`属性的几种定位方式
  • 阿斯利康中国区一季度收入增5%,或面临最高800万美元新罚单
  • 兴业银行一季度净赚超237亿降逾2%,营收降逾3%
  • 从腰缠万贯到债台高筑、官司缠身:尼泊尔保皇新星即将陨落?
  • 柴德赓、纪庸与叫歇碑
  • 中国黄金协会:一季度我国黄金产量同比增1.49%,黄金消费量同比降5.96%
  • 第二十届中国电影华表奖揭晓!完整获奖名单来了