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

把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验证集群是否可用,本地模式是比较方便轻量的安装模式,便于我们开发调试使用。

相关推荐
愤怒的苹果ext8 分钟前
flink-sql-connector-elasticsearch8兼容Flink SQL同步到Elasticsearch8.18.8
sql·flink·es8
TM1Club9 小时前
AI驱动的预测:新的竞争优势
大数据·人工智能·经验分享·金融·数据分析·自动化
zhang133830890759 小时前
CG-09H 超声波风速风向传感器 加热型 ABS材质 重量轻 没有机械部件
大数据·运维·网络·人工智能·自动化
电商API_1800790524710 小时前
第三方淘宝商品详情 API 全维度调用指南:从技术对接到生产落地
java·大数据·前端·数据库·人工智能·网络爬虫
龙山云仓10 小时前
No140:AI世间故事-对话康德——先验哲学与AI理性:范畴、道德律与自主性
大数据·人工智能·深度学习·机器学习·全文检索·lucene
躺柒12 小时前
读数字时代的网络风险管理:策略、计划与执行04风险指引体系
大数据·网络·信息安全·数字化·网络管理·网络风险管理
独自归家的兔13 小时前
从 “局部凑活“ 到 “全局最优“:AI 规划能力的技术突破与产业落地实践
大数据·人工智能
海域云-罗鹏13 小时前
国内公司与英国总部数据中心/ERP系统互连,SD-WAN专线实操指南
大数据·数据库·人工智能
策知道14 小时前
依托政府工作报告准备省考【经验贴】
大数据·数据库·人工智能·搜索引擎·政务
Henry-SAP14 小时前
SAP(ERP) 组织结构业务视角解析
大数据·人工智能·sap·erp·sap pp