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.xdnf.cn/news/1451987.html

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

相关文章

注册中心理论学习

注册中心介绍 注册中心(也称为服务注册中心或服务发现服务)是微服务架构中的一个关键组件,它负责服务的注册与发现。在微服务体系中,服务实例的数量和位置是动态变化的,注册中心提供了一个集中的地方来存储这些信息&a…

linux中DNS域名解析服务(后续补充)

分离解析简介: 分离解析的域名服务器实际也是主域名服务器,这里主要是指根据不同的客户端提供不同的域名解析记录。比如来自内网和外网的不同网段地址的客户机请求解析同一域名时,为其提供不同的解析结果。 实验要求:防火墙要么关…

AMSR-MODIS 边界层水汽 L3 每日 1 度 x 1 度 V1、V2 版本数据集

AMSR-MODIS Boundary Layer Water Vapor L3 Daily 1 degree x 1 degree V1 (AMDBLWV) at GES DISC AMSR-MODIS Boundary Layer Water Vapor L3 Daily 1 degree x 1 degree V2 (AMDBLWV) at GES DISC 简介 该数据集可估算均匀云层下的海洋边界层水汽。AMSR-E 和 AMSR-2 的微波…

在C#中对 JSON进行序列化和反序列化处理

概述:在现代软件开发领域,不同系统和平台之间的数据交换是不可或缺的方面。JSON(JavaScript 对象表示法)因其轻量级、人类可读和易于解析的特性而成为一种无处不在的数据格式。使用 C# 🚀编程的 JSON 序列化和反序列化…

气膜球幕影院:大众追捧的全新体验—轻空间

近年来,气膜球幕影院因其独特的观影体验和灵活的应用,受到了广大观众的热烈欢迎。轻空间带您来探讨一下气膜球幕影院为何如此受欢迎。 沉浸式体验的吸引力 气膜球幕影院的360度全景沉浸式体验,让观众仿佛置身于影片的世界中。这种前所未有的观…

ripro主题如何使用memcached来加速

ripro主题是个很不错的资源付费下载主题。主题自带了缓存加速开关,只要开启了缓存加速功能,正常情况下能让网站访问的速度提升很大。 但好多人这么做了却发现没啥加速效果,原因就在于wordpress里缺少了memcache文件。只需要把object-cache.ph…

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

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

Python Kivy库:跨平台应用开发

更多Python学习内容:ipengtao.com Kivy是一个用于开发跨平台应用的开源Python库。它支持在Windows、macOS、Linux、iOS和Android等多种平台上运行,并且具有强大的图形界面功能。Kivy的设计理念是简洁易用,能够快速创建具有现代UI的应用。本文…

linux centos 安装docker

本章教程介绍如何在Linux CentOS中安装Docker服务。 1. 更新系统软件包 首先,确保你的系统软件包是最新的: sudo yum update -y2. 安装必要的依赖包 安装一些必要的依赖包: sudo yum install -y yum-utils device-mapper-persistent-data lvm23. 添加 Docker 的官方仓库…

word中根据上级设置下级编号

如上级是3.13.4,如下图 现在想设置下级编码跟随上级逐级显示成3.13.4.1 则在标题功能说明这点击顶部菜单栏的编号按钮,如下图 然后,选择自定义编号-自定义列表-自定义按钮 然后重点是编号格式这一栏,需要手动填写下前三级的编号&…

花卉识别-python-pytorch-CNN深度学习含数据集+pyqt界面

代码下载地址: https://download.csdn.net/download/qq_34904125/89383063 本代码是基于python pytorch环境安装的。 下载本代码后,有个requirement.txt文本,里面介绍了如何安装环境,环境需要自行配置。 或可直接参考下面博文…

Java | Leetcode Java题解之第145题二叉树的后序遍历

题目&#xff1a; 题解&#xff1a; class Solution {public List<Integer> postorderTraversal(TreeNode root) {List<Integer> res new ArrayList<Integer>();if (root null) {return res;}TreeNode p1 root, p2 null;while (p1 ! null) {p2 p1.left…

DataFrames相关介绍文件读取

目录 1.初识DataFrame 2.DataFrame的构造函数 3.数据框的轴 4.CSV文件读取 5.Excel文件读取 1.初识DataFrame &#xff08;1&#xff09;昨天&#xff0c;我们学习了Series。而Pandas的另一种数据类型&#xff1a;DataFrame&#xff0c;在许多特性上和Series有相似之处。 …

HTML静态网页成品作业(HTML+CSS)—— 校园贷主题网页(2个页面)

&#x1f389;不定期分享源码&#xff0c;关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 &#x1f3f7;️本套采用HTMLCSS&#xff0c;未使用Javacsript代码&#xff0c;共有2个页面。 二、作品演示 三、代…

HTML静态网页成品作业(HTML+CSS+JS)——游戏天天酷跑网页(4个页面)

&#x1f389;不定期分享源码&#xff0c;关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 &#x1f3f7;️本套采用HTMLCSS&#xff0c;使用Javacsript代码实现图片切换轮播&#xff0c;共有4个页面。 二、…

七、IP路由原理和路由引入

目录 一、IP路由原理 二、路由引入 2.1、双点双向路由引入 2.2、路由回灌 三、路由策略与路由控制 路由匹配工具&#xff08;规则&#xff09; ACL IP前缀列表 路由控制工具&#xff08;控制&#xff09; 策略工具1 策略工具2 搭配组合 组…

基于SSM+Jsp的在线教育资源管理系统

开发语言&#xff1a;Java框架&#xff1a;ssm技术&#xff1a;JSPJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包…

【Java并发编程之美 | 第一篇】并发编程线程基础

文章目录 1.并发编程线程基础1.1什么是线程和进程&#xff1f;1.2线程创建与运行1.2.1继承Thread类1.2.2实现Runnable接口1.2.3实现Callable接口&#xff08;与线程池搭配使用&#xff09;1.2.4小结 1.3线程常用方法1.3.1线程等待与通知1.3.2线程睡眠1.3.3让出CPU执行权1.3.4线…

CATO原理中的数学与魔术(十三)——综合应用

早点关注我&#xff0c;精彩不错过&#xff01; 不知不觉&#xff0c;这个系列已经写了48篇文章&#xff0c;4篇数学理论介绍和3个系列共8篇魔术应用&#xff0c;相关内容请戳&#xff1a; CATO原理中的数学与魔术&#xff08;十二&#xff09;——CATO与MAT principle CATO原理…

[C#]使用C#部署yolov10的目标检测tensorrt模型

【测试通过环境】 win10 x64vs2019 cuda11.7cudnn8.8.0 TensorRT-8.6.1.6 opencvsharp4.9.0 .NET Framework4.7.2 NVIDIA GeForce RTX 2070 Super cuda和tensorrt版本和上述环境版本不一样的需要重新编译TensorRtExtern.dll&#xff0c;TensorRtExtern源码地址&#xff1a;T…