Flink本地模式安装详解

1. 概述

Apache Flink 支持多种安装和运行模式,主要可以分为以下几种:

  • Local(本地)模式
    • 这种模式主要用于学习和测试,所有的 Flink 组件都会在同一个 JVM 进程中运行。这种方式非常适合初学者了解 Flink 的基本概念和操作。
  • Standalone(独立集群)模式
    • 这种模式下,Flink 自身作为一个独立的集群运行,适合用于开发和测试环境。它包括了一个或多个 JobManager 节点和多个 TaskManager 节点,每个节点都是独立的进程。
    • Standalone HA(高可用性)模式:这是 Standalone 模式的扩展,提供了 JobManager 的高可用性,确保即使某个 JobManager 节点失败,集群仍然能够继续运行。
  • On Yarn(YARN 集群)模式
    • 当 Flink 与 Hadoop 集成时,可以利用 YARN 作为资源管理器来启动 Flink 集群。这种方式适合生产环境,因为它允许动态地请求和释放资源,从而实现更好的资源利用率。
  • On Kubernetes 模式
    • Flink 也可以部署在 Kubernetes 集群上,这种方式提供了更加灵活的管理和伸缩能力,特别适合微服务架构的应用。

每种模式都有其特点和适用场景,选择合适的模式取决于具体的使用需求和技术栈。例如,对于简单的测试和开发工作,Local 模式就足够了;而对于生产环境,则可能更倾向于使用 Standalone HA 模式或 On Yarn 模式以获得更好的稳定性和资源管理能力。随着容器化和云原生技术的发展,On Kubernetes 模式也越来越受到欢迎。

2. Local(本地)模式

今天为了快速入门flink,跑通几个例子,快速入门flink,我们使用简单的本地模式启动flink集群,便于我们平时的测试练习。

2.1 软件安装包准备

  • Java环境,安装好JDK,配置好环境变量,JDK要求Java8 或者 Java11及以上版本,笔者使用Java22。
  • 下载好flink的安装包,笔者使用的是1.20.0。
  • 笔者把用到的Java和Flink的安装包都整理放在一起,有需要可以到下面的链接下载。
  • 下载链接:夸克网盘分享

2.2 安装好jdk

Java JDK安装网上挺多教程,这里不再详细介绍,需要的同学可以到网上搜索下教程,安装成功后,会有下面的提示,说明环境已经准备好了。

2.3 安装flink

把flink的安装包下载到你们本地,并且对它做一个解压操作,解压之后,会有一个flink1.20.0文件夹,进到文件夹里面。

tar -xzf flink-1.20.0-bin-scala_2.12.tgz
cd flink1.20.0

2.4 启动集群

flink是解压即安装,解压完之后再通过其bin目录下准备好的本地模式启动的脚本启动,那么flink的集群变启动起来了。

#进入bin目录,执行 start-cluster.sh 脚本
./start-cluster.sh

看到图片里面的打印的日志,可以确定flink集群启动成功了。

2.5 运行一个流作业

解压flink按照包之后,与bin目录通目录有一个examples目录,里面有挺多的例子,我们就挑选其中一个例子提交到我们准备好的flink集群中。

#提交作业
./bin/flink run examples/streaming/WordCount.jar
#查看作业运行的结果
tail -1000f ./log/flink-wu_ming-taskexecutor-0-192.168.5.4.out

提交作业

查看作业执行结果

2.6 关闭集群

完成上面的测试之后,就可以先把刚刚启动起来的集群关闭掉了,待需要的时候再启动起来。

./bin/stop-cluster.sh

3. 总结

本文开头对flink的几种安装模式都做了介绍,并且详细的介绍了我们开发的时候会使用到的本地模式的安装启动停止过程,并且用了一个demo验证集群是否可用,本地模式是比较方便轻量的安装模式,便于我们开发调试使用。

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

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

相关文章

Uniapp 实现app自动检测更新/自动更新功能

实现步骤 配置 manifest.json 在 manifest.json 中设置应用的基本信息,包括 versionName 和 versionCode。 一般默认0.0.1,1. 服务器端接口开发 提供一个 API 接口,返回应用的最新版本信息,版本号、下载链接。客户端检测更新 使…

java访问华为网管软件iMaster NCE的北向接口

最近做的一个项目,需要读取华为一个叫iMaster NCE的网管软件的北向接口。这个iMaster NCE(以下简称NCE)用于管理项目的整个网络,尤其是光网络。业主要求我们访问该软件提供的对外接口,读取一些网络信息,比如…

docker基础篇(尚硅谷)

学习链接 docker1️⃣基础篇(零基小白) - 语雀文档 (即本篇) Docker与微服务实战(基础篇) Docker与微服务实战(高级篇)- 【上】 Docker与微服务实战(高级篇)- 【下】 文章目录 学习…

华为通过FTP进行文件操作示例

小知学网络-CSDN博客 目录 通过FTP进行文件操作简介 配置注意事项 组网需求 配置思路 操作步骤 配置文件 组网图形 图1 通过FTP进行文件操作组网图 通过FTP进行文件操作简介配置注意事项组网需求配置思路操作步骤配置文件相关信息 通过FTP进行文件操作简介 配置设备作…

嵌入式开发教程之Linux下IO流

一、文件的概念和类型 文件基础: 概念:一组相关数据的有序集合,文件名、路径。通过文件名指定访问什么文件。 文件类型: 常规文件 r,分为:普通文件,文本文件(可见字符&#xff09…

Rust 力扣 - 48. 旋转图像

文章目录 题目描述题解思路题解代码题目链接 题目描述 题解思路 我们可以将原矩阵进行水平翻转&#xff0c;然后在沿主对角线进行翻转&#xff0c;就能完成原矩阵沿顺时针方向旋转90o的变换 题解代码 impl Solution {pub fn rotate(matrix: &mut Vec<Vec<i32>&…

MySQL 8.0在windows环境安装及配置

文章目录 一、下载二、安装三、配置环境变量 一、下载 1、先彻底卸载之前的MySQL&#xff0c;并清理其 残留文件 。 2、登录网址https://www.mysql.com/ 3、点击网址左下角“中文”按钮&#xff0c;切换到中文界面 4、点击网页上方的“下载”按钮&#xff0c;然后点击网页…

Sleep_Monitor 2.7.9.2 | 您的个人睡眠助手,帮助您睡得更好

晚上入睡困难吗&#xff1f;Sleep Monitor 是您的睡眠专家&#xff01;这款应用程序可以追踪并记录您的睡眠周期&#xff0c;让您早晨醒来时精神焕发&#xff0c;准备好迎接新的一天。Sleep Monitor 是一个功能丰富的程序&#xff0c;让睡眠变得更加愉快。通过追踪您的打鼾、梦…

基于SSM+微信小程序的汽车维修管理系统(汽车5)

&#x1f449;文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1、项目介绍 基于SSM微信小程序的汽车维修管理系统实现了三个角色&#xff1a;管理员、员工、用户。 1、管理员实现了首页、管理员管理员、员工管理、用户管理、车辆信息管理、配件管理等 2、员工实…

『Linux学习笔记』如何在 Ubuntu 22.04 上安装和配置 VNC

『Linux学习笔记』如何在 Ubuntu 22.04 上安装和配置 VNC 文章目录 一. 『Linux学习笔记』如何在 Ubuntu 22.04 上安装和配置 VNC1. 介绍 二. 参考文献 一. 『Linux学习笔记』如何在 Ubuntu 22.04 上安装和配置 VNC 如何在 Ubuntu 22.04 上安装和配置 VNChttps://hub.docker.c…

jvm学习笔记-轻量级锁内存模型

一&#xff0c;轻量级锁 LockRecord的那个第一个成员变量是拷贝对应锁定了的java对象资源的MarkWord&#xff0c;Lock Record有一个Ptr指针刚开始指向自己&#xff0c;后面这个指针存储在锁定资源的java对象的markword中&#xff0c;后续可以通过java对象的MarkWord快速定位到…

在Windows 10上安装Tesseract并用pytesseract运行OCR任务

诸神缄默不语-个人CSDN博文目录 文章目录 1. Tesseract安装2. pytesseract的安装与使用3. 手动安装其他语种并在pytesseract中调用4. 本文撰写过程中参考的其他网络资料 1. Tesseract安装 Tesseract官方GitHub项目链接&#xff1a;https://github.com/tesseract-ocr/tesseract…

golang的多表联合orm

项目截图 1.数据库连接配置 DbConfigUtil.go package configimport ( "fmt" _ "github.com/go-sql-driver/mysql" "gorm.io/driver/mysql" "gorm.io/gorm" "gorm.io/gorm/logger" "gorm.io/gorm/schema" )var Go…

ONLYOFFICE 8.2版本桌面编辑器评测

目录 ONLYOFFICE 8.2版本桌面编辑器评测一、引言二、ONLYOFFICE 桌面编辑器概述2.1 功能特点2.2 系统支持2.3 数据表&#xff1a;ONLYOFFICE 桌面编辑器功能概述 三、ONLYOFFICE 协作空间3.1 协作功能3.2 部署和集成3.3 数据表&#xff1a;ONLYOFFICE 协作空间功能概述 四、ONL…

图片懒加载(自定义指令)

----------------------------------------------------------- 图片懒加载自定义指令使用mock模拟随机图片列表组件如下&#xff08;主要内容&#xff09;&#xff1a;配置自定义指令 图片懒加载 实现思路 使用自定义指令实现通用图片懒加载&#xff08;在图片到达视口内时再…

三层交换技术,eNSP实验讲解

三层交换技术&#xff0c;eNSP实验讲解 一、简要介绍1、概念2、工作原理3、优点4、应用场景5、与路由器的区别 二、eNSP仿真实验1、步骤一&#xff1a;创建连接&#xff0c;明确参数。2、步骤二&#xff1a;设置PC1和PC2参数3、步骤三&#xff1a;配置交换机&#xff0c;通过命…

扫雷(C语言)

目录​​​​​​​ 前言 一、前提知识 二、扫雷游戏编写 2.2 test文件基本逻辑 2.2.1菜单编写 2.2.2game函数的逻辑 2.2.2.1定义两个数组 2.2.2.2两个数组数组的初始化 2.2.2.3打印棋盘 2.2.2.4布置雷 2.2.2.5排查雷 2.2.2.6获取坐标附近雷的数量 2.2.2.7什么时候…

Node.js:模块 包

Node.js&#xff1a;模块 & 包 模块module对象 包npm安装包配置文件镜像源 分类 模块 模块化是指解决一个复杂问题时&#xff0c;自顶向下逐层把系统划分成若干模块的过程。对于整个系统来说&#xff0c;模块是可组合、分解和更换的单元。 简单来说&#xff0c;就是把一个…

恋爱脑学Rust之dyn关键字的作用

在 Rust 语言中&#xff0c;dyn 关键字允许我们在使用特征时创建“动态派发”——即通过一个统一的接口操作多种类型的具体实现。可以把它理解成一种“浪漫的妥协”&#xff1a;当我们不知道未来会爱上谁&#xff0c;只知道对方一定具有某种特征时&#xff0c;dyn 就像一个协议…

vue3项目中实现el-table分批渲染表格

开篇 因最近工作中遇到了无分页情景下页面因大数据量卡顿的问题&#xff0c;在分别考虑并尝试了懒加载、虚拟滚动、分批渲染等各个方法后&#xff0c;最后决定使用分批渲染来解决该问题。 代码实现 表格代码 <el-table :data"currTableData"borderstyle"wi…