flink standalone部署模式

standalone模式可以在单台机器以不同进程方式启动,也可以以多机器分布式方式启动。

任务的提交模式有三种:application mode、session model、per-job mode(1.4x版本后过时)。

注意区分任务的提交模式与集群的部署模式区别。

以flink-1.18.1版本实验。

1.单台机器的session模式的standalone部署集群方式

   此种方式启动的flink集群注定任务的提交模式是session模式。

1.1.启动单台机器上session模式的standalone集群

./bin/start-cluster.sh

默认会产生如下两个进程,单台机器,不同进程:

1.2执行一个计算任务

./bin/flink run ./examples/streaming/TopSpeedWindowing.jar

./bin/flink run ./examples/streaming/TopSpeedWindowing.jar执行后,会有进程:

1.3关闭standalone集群

./bin/stop-cluster.sh

2.单台机器的standalone模式,以application mode提交任务

2.1启动一个taskmanager

./bin/taskmanager.sh start

多次执行上面的命令会启动多个taskmanager。

2.2启动任务

$ cp ./examples/streaming/TopSpeedWindowing.jar lib/
$ ./bin/standalone-job.sh start --job-classname org.apache.flink.streaming.examples.windowing.TopSpeedWindowing

 localhost:8081 查看任务,此时单台机器上只有一个taskmanager进程和一个StandaloneApplicationClusterEntryPoint应用进程

除了将自己打包的应用程序放在lib中,还有另外一种方式提交任务[未调试通过]:

------

$ ./bin/standalone-job.sh start -D user.artifacts.base-dir=/tmp/flink-artifacts --jars local:///path/to/TopSpeedWindowing.jar

我的理解:如果调试通过,user.artifacts.base-dir 可以用来存放hadoop、hive相关的依赖。local:///path/to目录可以存放每次发版本的最新应用jar。

报错:“No JAR found on classpath. Please provide a JAR explicitly”

------

2.3关闭taskmanager和提交的任务

$ ./bin/taskmanager.sh stop
$ ./bin/standalone-job.sh stop

Standalone Cluster参考

在 Standalone 模式下,以下 jar 将被识别为用户 jar 并包含在用户类路径中:

Session 模式:启动命令中指定的 JAR 文件。
Application 模式:启动命令中指定的 JAR 文件和 Flink 的 usrlib 文件夹中的所有 JAR 文件。

个人理解:可以把hadoop、hive的jar放到usrlib中。

工作目录存储内容涵盖:
  1. BlobServer 和 BlobCache 存储的 Blob
  2. 如果启用了 state.backend.local-recovery,则为本地状态
  3. RocksDB 的工作目录

standalone部署要求:

假设我们使用flink作为计算引擎,且没有hadoop集群的情况下,我们要如何部署与提交任务呢?

1.flink部署采用standalone模式部署

2.提交任务采用application模式提交,这种方式保证任务间互不干扰

3.设定工作目录;设定本地状态;设定资源id(便于恢复task任务)

process.working-dir: /path/to/working/dir/base
state.backend.local-recovery: true
taskmanager.resource-id: TaskManager_1 

4.设定状态后端存储为rockdb(避免file状态对内存依赖的问题)

state.backend: rocksdb
state.checkpoints.dir: file:///mnt/flink/checkpoints
state.savepoints.dir: file:///mnt/flink/savepoints

5.配置taskmanager.memory.flink.size和jobmanager.memory.flink.size

配置 Flink 总内存更适合独立部署,因为您需要声明分配给 Flink 本身的内存量。Flink 总内存分为 JVM 堆内存和堆外内存。【参考】

为什么使用flink框架来编写分布式计算程序?

1.轻松编写并发程序

   支持多机器、多进程、多线程的粒度控制

2.编写的程序有状态

   类似断点续传的原理。重启任务后,自动恢复应用状态,例如正在统计某一个商品当前uv为10w,计算任务重启后,会在10w的基础上累加。

3.背压感知

    自动根据下游的处理能力调节计算频率

4.各种处理指标Grafana一览无余

个人理解:

1.bin/start-cluster.sh 启动的session模式的standalone集群[从生成的日志文件standalonesession也可以推测] 

2.conf/workers配置项对./bin/start-cluster.sh命令启动的session模式的standalone有效,对./bin/taskmanager.sh只启动executor计算节点无效,此计算节点用于后续提交application模式应用任务使用

3.只有session模式的standalone集群有HA?

4.为了实现standalone的本地文件目录恢复,需要配置

process.working-dir: /path/to/working/dir/base
state.backend.local-recovery: true
taskmanager.resource-id: TaskManager_1 


 

参考文档:

deployment-standalone-overview

deployment-standalone-working-dir

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

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

相关文章

C++ 18 之 函数的重载

c18函数的重载.cpp #include <iostream> #include <string.h> using namespace std;void fun4(int a) {cout << "int a: "<< a << endl; } void fun4(double a) {cout << "double a: " << a << endl; }v…

24年河北自考报名流程详细教程汇总

2024年河北自考本科报名马上就要开始了&#xff0c;想要参加考试报名的同学&#xff0c;提前看一下&#xff0c;了解一下报名流程&#xff0c;准备一些报名材料。 报名时间&#xff1a;2024年1月5日—10日8:00—22:00 考试时间&#xff1a;2024年4月13日—14日 报名照要求&…

ControlNet作者新作Omost 一句话将LLM的编码能力转化为图像生成能力,秒变构图小作文,再也不用为不会写提示词担心了!

近日&#xff0c;ControlNet的作者推出了一个全新的项目—Omost。Omost是一个将LLM的编码能力转化为图像生成能力的项目。对现有图像模型的提示词理解有着巨大的帮助。通过很短的提示词&#xff0c;就可以生成非常详细并且空间表现很准确的图片。 完美解决新手小白不会写提示词…

[数据集][目标检测]减速带检测数据集VOC+YOLO格式5400张1类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;5400 标注数量(xml文件个数)&#xff1a;5400 标注数量(txt文件个数)&#xff1a;5400 标注…

军事武器3D数字化交互展示创作平台大大降低成本

军事力量和装备是一个国家国防安全的重要支柱&#xff0c;这在全球范围内得到广泛认同&#xff0c;为了让入伍的新兵能快速熟悉和掌握武器装备操作流程&#xff0c;基于创新型的华锐3D云展平台工具&#xff0c;搭建的3D军事武器展示搭建编辑器&#xff0c;让部队的军事武器展示…

Solidity智能合约事件(event)

文章目录 Solidity智能合约事件(event)什么是event事件event有什么作用日志内容位于区块链的什么地方&#xff1f;【重要】以太坊交易获取如何在 Solidity 中使用事件&#xff1f;参考 Solidity智能合约事件(event) 什么是event EVM有一个日志功能&#xff0c;用于将数据“写…

2024最新D卷 华为OD统一考试题库清单(按算法分类),如果你时间紧迫,就按这个刷

目录 专栏导读华为OD机试算法题太多了&#xff0c;知识点繁杂&#xff0c;如何刷题更有效率呢&#xff1f; 一、逻辑分析二、数据结构1、线性表① 数组② 双指针 2、map与list3、队列4、链表5、栈6、滑动窗口7、二叉树8、并查集9、矩阵 三、算法1、基础算法① 贪心思维② 二分查…

C#批量设置海康和大华录像机NVR,GB28181的通道编码.

我经常要把小区海康或者大华的硬盘录像机推送到自己搭建的gb28181监控平台,每次几百个摄像头编码,有点头大,就用了1个多周写了个批量设置海康和大华硬盘录像机的通道编码的程序,海康和大华的SDK简直不是人看的. 太乱了. 大华读取通道编码的代码 /// <summary>/// 获取通道…

自动生成企业培训视频:创新与效率的完美结合

前言 随着人工智能技术的飞速发展&#xff0c;大模型技术在各个领域的应用日益广泛。在企业培训领域&#xff0c;大模型技术的应用为培训视频的生成带来了革命性的变革。本文将探讨如何利用大模型技术自动生成企业培训视频&#xff0c;以及这一技术为企业培训带来的创新和效率…

Javaweb8 数据库Mybatis+JDBC

Mybatis Dao层&#xff0c;用于简化JDBC开发 1步中的实体类 int类型一般用Integer &#xff1a;如果用int类型 默认值为0,会影响数据的判断,用Integer默认值是null,不会给数据的判断造成干扰 2.在application .properties里配置数据库的链接信息-四要素 #驱动类名称 #URL #用…

mmdeploy环境部署流程

参考&#xff1a;mmdeploy/docs/zh_cn/01-how-to-build/linux-x86_64.md at main open-mmlab/mmdeploy (github.com) 从零入门《openmmlab》mmdeploy[1]环境安装及简单上手_哔哩哔哩_bilibili 我的环境&#xff1a; docker容器&#xff0c;ubuntu20.04&#xff0c;cuda11.7…

OPNsense 24.1 - 基于 FreeBSD 的开源防火墙和路由平台

OPNsense 24.1 - 基于 FreeBSD 的开源防火墙和路由平台 请访问原文链接&#xff1a;https://sysin.org/blog/opnsense/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 作者主页&#xff1a;sysin.org 关于 OPNsense OPNsense 是一个开源、易于使用且易于构建…

PS通过GTX实现SFP网络通信1

将 PS ENET1 的 GMII 接口和 MDIO 接口 通过 EMIO 方 式引出。在 PL 端将引出的 GMII 接口和 MDIO 接口与 IP 核 1G/2.5G Ethernet PCS/PMA or SGMII 连接&#xff0c; 1G/2.5G Ethernet PCS/PMA or SGMII 通过高速串行收发器 GTX 与 MIZ7035/7100 开发…

利用flask + pymysql监测数据同步中的数据是否完整

一、背景 最近项目搞重构&#xff0c;将原有的系统拆分成了多个子系统。但是有数据表需要在不同系统中数据&#xff0c;同时为了解决项目性能最了一个很简单的方案&#xff0c;就是公共数据存在每个系统之中。 二、分析 分析这些表&#xff0c;这些表相比源数据表&#xff0c;表…

三运放仪表放大器通过设置单个电阻器的值来调整增益

从公式 1 中可以看出&#xff0c;我们可以通过调整单个电阻器 R G的值来调整仪表放大器的差分增益。这很重要&#xff0c;因为与电路中的其他电阻器不同&#xff0c; RG的值不需要与任何其他电阻器匹配。 例如&#xff0c;如果我们尝试通过更改 R 5的值来设置增益&#xff0c;…

在自己的电脑上搭建我的世界Java版服务器

很多朋友&#xff0c;喜欢玩Minecraft&#xff0c;也希望搭建一个服务器&#xff0c;用于和小伙伴联机&#xff1b; 并且&#xff0c;拥有服务器后&#xff0c;即使所有玩家都下线&#xff0c;“世界”依旧在运行&#xff0c;玩家可以随时参与其中&#xff0c;说不定一上线&am…

一种新的一维时间序列信号盲解卷积算法(以旋转机械故障诊断为例,MATLAB环境)

一种新的一维时间序列信号盲解卷积算法&#xff08;以旋转机械故障诊断为例&#xff0c;MATLAB环境&#xff09;&#xff0c;可作为深度学习信号前处理过程&#xff0c;水个SCI不是问题。 机械设备的状态信号中往往蕴含着大量的设备异常信息。如何从繁多的机械状态信号中提取足…

CCAA质量管理【学习笔记】​​ 备考知识点笔记(五)质量设计方法与工具

第五节 质量设计方法与工具 1 任 务 分 解 法 1.1 概念 任务分解法&#xff0c;又称工作分解结构 (Work Breakdown Structure, 简 称 WBS) 。WBS 指以可交付成果为 导向&#xff0c;对项目团队为实现项目目标并完成规定的可交付成果而执行的工作所进行的层次分解。W…

程序员基本功之git的使用

阿里网盘-资料链接 文章目录 git分布式版本控制工具git的基本概念开发过程中的问题常见的版本控制工具git分布式版本控制工具特点git系统所定制的若干目标git的工作流程图 GIT的安装和常用命令**创建本地git仓库步骤****本地git仓库的使用**git log详解 git分布式版本控制工具…

SpringCloud跨服务远程调用

随着项目的使用者越来越多&#xff0c;项目承担的压力也会越来越大&#xff0c;为了让我们的项目能服务更多的使用者&#xff0c;我们不得不需要把我们的单体项目拆分成多个微服务&#xff0c;就比如把一个商城系统拆分成用户系统&#xff0c;商品系统&#xff0c;订单系统&…