Flink集群运行模式--Standalone运行模式

Flink集群运行模式--Standalone运行模式

  • 一、实验目的
  • 二、实验内容
  • 三、实验原理
  • 四、实验环境
  • 五、实验步骤
    • [5.1 部署模式](#5.1 部署模式)
      • [5.1.1 会话模式(Session Mode)](#5.1.1 会话模式(Session Mode))
      • [5.1.2 单作业模式(Per-Job Mode)](#5.1.2 单作业模式(Per-Job Mode))
      • [5.1.3 应用模式(Application Mode)](#5.1.3 应用模式(Application Mode))
    • [5.2 Standalone运行模式](#5.2 Standalone运行模式)
    • [5.2.1 会话模式部署](#5.2.1 会话模式部署)
    • [5.2.2 单作业模式部署](#5.2.2 单作业模式部署)
    • [5.2.3 应用模式部署](#5.2.3 应用模式部署)

⚠申明: 未经许可,禁止以任何形式转载,若要引用,请标注链接地址。 全文共计2391字,阅读大概需要3分钟

🌈更多学习内容, 欢迎👏关注👀【文末】我的个人微信公众号:不懂开发的程序猿

个人网站:https://jerry-jy.co/

一、实验目的

掌握Standalone集群搭建的过程。

掌握Flink的三种部署模式

二、实验内容

1、搭建Flink集群--Standalone运行模式

2、集群的启动,停止、提交作业

三、实验原理

独立模式是独立运行的,不依赖任何外部的资源管理平台;

当然独立也是有代价的:如果资源不足,或者出现故障,没有自动扩展或重分配资源的保证,必须手动处理。所以独立模式一般只用在开发测试或作业非常少的场景下。

四、实验环境

硬件:x86_64 CentOS 7.5 服务器

软件:JDK1.8,Flink-1.17.1,Hadoop-3.3.3,IntelliJ Idea-2022

五、实验步骤

开始实验之前需要先了解Flink集群部署的三种模式

5.1 部署模式

在一些应用场景中,对于集群资源分配和占用的方式,可能会有特定的需求。Flink为各种场景提供了不同的部署模式,主要有以下三种:会话模式(Session Mode)、单作业模式(Per-Job Mode)、应用模式(Application Mode)。

它们的区别主要在于:集群的生命周期 以及资源的分配方式 ;以及应用的main方法到底在哪里执行------客户端(Client)还是JobManager。

5.1.1 会话模式(Session Mode)

5.1.2 单作业模式(Per-Job Mode)

5.1.3 应用模式(Application Mode)



这里我们所讲到的部署模式,相对是比较抽象的概念。实际应用时,一般需要和资源管理平台结合起来,选择特定的模式来分配资源、部署应用。

5.2 Standalone运行模式

5.2.1 会话模式部署

我们在上一节用的就是Standalone集群的会话模式部署。

提前启动集群,并通过Web页面客户端提交任务(可以多个任务,但是集群资源固定)。



5.2.2 单作业模式部署

Flink的Standalone集群并不支持单作业模式部署。因为单作业模式需要借助一些资源管理平台。

5.2.3 应用模式部署

应用模式下不会提前创建集群,所以不能调用start-cluster.sh脚本。我们可以使用同样在bin目录下的standalone-job.sh来创建一个JobManager。



具体步骤如下:

(0)环境准备。在hadoop102中执行以下命令启动netcat。

java 复制代码
[root@hadoop102 flink-1.17.1]$ nc -lk 7777

(1)进入到Flink的安装路径下,将应用程序的jar包放到lib/目录下。

java 复制代码
[root@hadoop102 flink-1.17.1]$ mv FlinkTutorial-1.0-SNAPSHOT.jar lib/

(2)执行以下命令,启动JobManager。

java 复制代码
[root@hadoop102 flink-1.17.1]$ bin/standalone-job.sh start --job-classname com.jerry.wordcount.WordCountUnboundedDemo

这里我们直接指定作业入口类,脚本会到lib目录扫描所有的jar包。

(3)同样是使用bin目录下的脚本,启动TaskManager。

java 复制代码
[root@hadoop102 flink-1.17.1]$ bin/taskmanager.sh start

(4)在hadoop102上模拟发送单词数据。

java 复制代码
[root@hadoop102 ~]$ nc -lk 7777
java 复制代码
hello java
hello flink

(5)在hadoop102:8081地址中观察输出数据

(6)如果希望停掉集群,同样可以使用脚本,命令如下。

java 复制代码
[root@hadoop102 flink-1.17.1]$ bin/taskmanager.sh stop
[root@hadoop102 flink-1.17.1]$ bin/standalone-job.sh stop

--end--

相关推荐
fengye20716112 分钟前
第三章 编译cpython
大数据·elasticsearch·搜索引擎
大大大大晴天20 分钟前
每天认识一个组件:Apache Flink
大数据
CCIE-Yasuo1 小时前
网络安全-学习数据库-Mysql-2
数据库·学习·mysql
这个DBA有点耶1 小时前
内核级AI与多模融合:AI数据库在海外场景的落地要点
数据库·人工智能·架构
涛思数据(TDengine)1 小时前
从工业本体到 AI 原生:TDengine 出席 2026 QCon 分享工业数据基础设施路径
大数据·数据库·人工智能·tdengine·工业
Jesse_EC1 小时前
换乘次数最少的路径 SQL 查询详解与实战经验——从 WITH RECURSIVE 到 pgRouting
数据库·postgresql
工控丫丫1 小时前
帆软看板中经常使用的公式函数及经常搭的组合
前端·javascript·数据库
Gu_WenYun1 小时前
从主题定价到订单定价:机器人基金的产业链观察
大数据·人工智能·金融
其实防守也摸鱼2 小时前
信创安全竞赛知识总结与题库
大数据·网络·人工智能·算法·安全·php
刀笔财经2 小时前
新时达的选择:先造血,再谈利润
大数据