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--

相关推荐
傻小胖11 分钟前
MongoDB的图形化工具robo3t,navicat
数据库·mongodb
不辉放弃22 分钟前
MySQL 中的游标(Cursor)
服务器·数据库
极客1133 分钟前
数字智慧方案6190丨智慧应急综合平台解决方案(49页PPT)(文末有下载方式)
大数据·人工智能
chasemydreamidea1 小时前
书生实战营之沐曦专场
大数据·elasticsearch·搜索引擎
敖云岚1 小时前
【安装指南】Chat2DB-集成了AI功能的数据库管理工具
数据库·mysql
一顿操作猛如虎,啥也不是!1 小时前
IDEA git配置[通俗易懂]
大数据·elasticsearch·搜索引擎
三贝勒文子2 小时前
[ 问题解决 ] sqlite3.ProgrammingError: SQLite objects created in a thread can ...
数据库·python·sqlite3
不吃肘击3 小时前
Redis基本使用
数据库·redis·缓存
方二华3 小时前
中小企业MES系统概要设计
大数据·iot
qq_339282234 小时前
PostgreSQL无法查看表中数据问题排查
数据库·postgresql·oracle